91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring Cloud Netflix Hystrix

發布時間:2020-07-28 07:39:16 來源:網絡 閱讀:349 作者:nineteens 欄目:編程語言

  Spring Cloud Netflix Hystrix

  服務短路(CircuitBreaker)

  QPS:Query Per Second

  TPS:Transaction Per Second

  QPS:經過全鏈路壓測,計算單機極限QPS,集群QPS=單機PQS*集群機器數量*可靠性比率

  全鏈路壓測,除了壓極限QPS,還有錯誤數量

  全鏈路:一個完整的業務流程操作

  JMeter:可調整型比較靈活

  Spring Cloud Hystrix Client

  官網:https://github.com/Netflix/Hystrix

  Reactive Java框架:

  java9 Flow API

  Reactor

  RxJava(Reactive X)

  激活Hystrix

  通過@EnableHystrix激活

  配置信息wiki:https//github.com/Netflix/Hystrix/wiki/Configuration

  Hystrix

  1. 注解方式

  @HystrixCommand(defaultFallback= "errorContent",commandProperties =

  {@HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds",value= "100")})

  @GetMapping("/user/count")

  public String userCount() throws InterruptedException {

  Random random = new Random();

  int nextInt = random.nextInt(200);

  System.out.println("random time > "+nextInt);

  Thread.sleep(nextInt);

  return userService.userCount();

  }

  public String errorContent() {

  System.out.println("超時了");

  return "-1";

  }

  2. 編程方式

  @GetMapping("/user/count2")

  public String userCount2() {

  return new MyHystrixCommand().execute();

  }

  private class MyHystrixCommand extends com.netflix.hystrix.HystrixCommand{

  protected MyHystrixCommand() {

  super(HystrixCommandGroupKey.Factory.asKey(""), 100);

  }

  @Override

  protected String run() throws Exception {

  Random random = new Random();

  int nextInt = random.nextInt(200);

  System.out.println("random time > "+nextInt);

  Thread.sleep(nextInt);

  return "OK";

  }

  @Override

  protected String getFallback() {

  return UserServiceProviderRestApiController.this.errorContent();

  }

  }

  對比其他Java執行方式:

  Feature

  public class FutrueDemo {

  public static void main(String[] args) {

  Random random = new Random();

  ExecutorService service = Executors.newFixedThreadPool(1);

  Future futrue = service.submit(() -> {

  int value = random.nextInt(200);

  System.out.print("睡眠"+value+"ms.");

  Thread.sleep(value);

  return "OK";

  });

  try {

  futrue.get(100,TimeUnit.MILLISECONDS);

  }catch (Exception e) {

  System.out.println("超時保護...");

  }

  service.shutdown();

  }

  }

  Health Endpoint (/actuator/health)

  {

  "status": "UP",

  "details": {

  "diskSpace": {

  "status": "UP",

  "details": {

  "total": 140382552064,

  "free": 7376781312,

  "threshold": 10485760

  }

  },

  "refreshScope": {

  "status": "UP"

  },

  "discoveryComposite": {

  "status": "UP",

  "details": {

  "discoveryClient": {

  "status": "UP",

  "details": {

  "services": ["user-service-consumer", "user-service-provider", "eureka-server"]

  }

  },

  "eureka": {

  "description": "Remote status from Eureka server",

  "status": "UP",

  "details": {

  "applications": {

  "USER-SERVICE-CONSUMER": 1,

  "EUREKA-SERVER": 2,

  "USER-SERVICE-PROVIDER": 2

  }

  }

  }

  }

  },

  "hystrix": {

  "status": "UP"

  }

  }

  }

  激活熔斷保護

  @EnableCircuitBreaker 激活:@EnableHystrix + Spring Cloud功能

  @EnableHystrix 激活,沒有一些Spring Cloud功能,如 /hystrix.stream

  hystrix Endpoint(/actuator/hystrix.stream)

  data: {無錫婦科醫院排行 http://www.0510bhyy.com/

  "type": "HystrixCommand",

  "name": "MyHystrixCommand",

  "group": "",

  "currentTime": 1563720628038,

  "isCircuitBreakerOpen": false,

  "errorPercentage": 50,

  "errorCount": 2,

  "requestCount": 4,

  "rollingCountBadRequests": 0,

  "rollingCountCollapsedRequests": 0,

  "rollingCountEmit": 0,

  "rollingCountExceptionsThrown": 0,

  "rollingCountFailure": 0,

  "rollingCountFallbackEmit": 0,

  "rollingCountFallbackFailure": 0,

  "rollingCountFallbackMissing": 0,

  "rollingCountFallbackRejection": 0,

  "rollingCountFallbackSuccess": 1,

  "rollingCountResponsesFromCache": 0,

  "rollingCountSemaphoreRejected": 0,

  "rollingCountShortCircuited": 0,

  "rollingCountSuccess": 2,

  "rollingCountThreadPoolRejected": 0,

  "rollingCountTimeout": 1,

  "currentConcurrentExecutionCount": 0,

  "rollingMaxConcurrentExecutionCount": 1,

  "latencyExecute_mean": 0,

  "latencyExecute": {

  "0": 0,

  "25": 0,

  "50": 0,

  "75": 0,

  "90": 0,

  "95": 0,

  "99": 0,

  "99.5": 0,

  "100": 0

  },

  "latencyTotal_mean": 0,

  "latencyTotal": {

  "0": 0,

  "25": 0,

  "50": 0,

  "75": 0,

  "90": 0,

  "95": 0,

  "99": 0,

  "99.5": 0,

  "100": 0

  },

  "propertyValue_circuitBreakerRequestVolumeThreshold": 20,

  "propertyValue_circuitBreakerSleepWindowInMilliseconds": 5000,

  "propertyValue_circuitBreakerErrorThresholdPercentage": 50,

  "propertyValue_circuitBreakerForceOpen": false,

  "propertyValue_circuitBreakerForceClosed": false,

  "propertyValue_circuitBreakerEnabled": true,

  "propertyValue_executionIsolationStrategy": "THREAD",

  "propertyValue_executionIsolationThreadTimeoutInMilliseconds": 100,

  "propertyValue_executionTimeoutInMilliseconds": 100,

  "propertyValue_executionIsolationThreadInterruptOnTimeout": true,

  "propertyValue_executionIsolationThreadPoolKeyOverride": null,

  "propertyValue_executionIsolationSemaphoreMaxConcurrentRequests": 10,

  "propertyValue_fallbackIsolationSemaphoreMaxConcurrentRequests": 10,

  "propertyValue_metricsRollingStatisticalWindowInMilliseconds": 10000,

  "propertyValue_requestCacheEnabled": true,

  "propertyValue_requestLogEnabled": true,

  "reportingHosts": 1,

  "threadPool": ""

  }

  Spring Cloud Hystrix Dashboard

  使用@EnableHystrixDashboard激活

  @SpringBootApplication

  @EnableHystrixDashboard

  public class SpringCloudHystrixDashboardApplication {

  public static void main(String[] args) {

  SpringApplication.run(SpringCloudHystrixDashboardApplication.class, args);

  }

  }


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平邑县| 古蔺县| 翼城县| 霍邱县| 科技| 筠连县| 万全县| 临沂市| 哈巴河县| 诸城市| 乡城县| 仁怀市| 益阳市| 固始县| 金塔县| 长垣县| 凉城县| 遵义县| 连南| 峡江县| 台山市| 镶黄旗| 武夷山市| 仪陇县| 交口县| 乌拉特前旗| 沙坪坝区| 兴安县| 永兴县| 威海市| 新泰市| 宁明县| 湖州市| 永丰县| 津南区| 广河县| 永修县| 南开区| 合川市| 门头沟区| 贵阳市|