日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Cloud 各组件调优参数

發(fā)布時間:2024/4/17 javascript 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Cloud 各组件调优参数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Spring Cloud整合了各種組件,每個組件往往還有各種參數(shù)。本文來詳細(xì)探討Spring Cloud各組件的調(diào)優(yōu)參數(shù)。

Tomcat配置參數(shù)

1 server: 2 tomcat: 3 max-connections: 0 # 默認(rèn)值 4 max-threads: 0 # 默認(rèn)值

Hystrix配置參數(shù)

  • 如隔離策略是THREAD:
1 hystrix.threadpool.default.coreSize: 10 2 hystrix.threadpool.default.maximumSize: 10 3 hystrix.threadpool.default.maxQueueSize: -1 # 如該值為-1,那么使用的是SynchronousQueue, 4 否則使用的是LinkedBlockingQueue。 5 注意,修改MQ的類型需要重啟。例如從-1修改為100,需要重啟,因為使用的Queue類型發(fā)生了變化

如果想對特定的HystrixThreadPoolKey 進(jìn)行配置,則將default 改為 HystrixThreadPoolKey 即可。

  • 如果隔離策略是SEMAPHORE:
1 hystrix.command.default.execution.isolation.strategy: SEMAPHORE 2 hystrix.command.default.execution.isolation.semaphore.maxConcurrentRequests: 10 # 默認(rèn)值

如果想對指定的HystrixCommandKey 進(jìn)行配置,則將default 改為HystrixCommandKey 即可。

Feign配置參數(shù)

Feign默認(rèn)沒有線程池。

當(dāng)使用HttpClient時,可如下設(shè)置:

1 feign: 2 httpclient: 3 enabled: true 4 max-connections: 200 # 默認(rèn)值 5 max-connections-per-route: 50 # 默認(rèn)值

代碼詳見:

  • org.springframework.cloud.netflix.feign.FeignAutoConfiguration.

??? HttpClientFeignConfiguration#connectionManager

  • org.springframework.cloud.netflix.feign.ribbon.

??? HttpClientFeignLoadBalancedConfiguration.HttpClientFeignConfiguration#connectionManager

當(dāng)使用OKHttp時,可如下設(shè)置:

1 feign: 2 okhttp: 3 enabled: true 4 httpclient: 5 max-connections: 200 # 默認(rèn)值 6 max-connections-per-route: 50 # 默認(rèn)值

代碼詳見:

  • org.springframework.cloud.netflix.feign.FeignAutoConfiguration.

??? OkHttpFeignConfiguration#httpClientConnectionPool 。

  • org.springframework.cloud.netflix.feign.ribbon.OkHttpFeignLoadBalancedConfiguration.

??? OkHttpFeignConfiguration#httpClientConnectionPool

Zuul配置參數(shù)

我們知道Hystrix有隔離策略:THREAD 以及SEMAPHORE ,默認(rèn)是 SEMAPHORE 。

隔離策略
1 zuul: 2 ribbon-isolation-strategy: thread
最大信號

當(dāng)Zuul的隔離策略為SEMAPHORE時:

設(shè)置默認(rèn)最大信號量:

1 zuul: 2 semaphore: 3 max-semaphores: 100 # 默認(rèn)值

設(shè)置指定服務(wù)的最大信號量:

1 zuul: 2 eureka: 3 <commandKey>: 4 semaphore: 5 max-semaphores: 100 # 默認(rèn)值

參考:

  • https://github.com/spring-cloud/spring-cloud-netflix/issues/1130
  • https://github.com/spring-cloud/spring-cloud-netflix/issues/1362 ,非常重要,里面指出,不同版本配置略有差異。<commandKey> 在Brixton.SR5及更早版本中,是 <serviceId>RibbonCommand ,從Brixton.SR6 開始,<commandKey> 只需寫<serviceId> 即可,即:服務(wù)注冊到Eureka Server上的名稱。
Zuul參數(shù)
  • Hystrix并發(fā)參數(shù)

Edgware及之后的版本中,當(dāng)Zuul的隔離策略為THREAD時,可為Hystrix配置獨立線程池:

參考:http://www.itmuch.com/spring-cloud/edgware-new-zuul-hystrix-thread-pool/

如果不設(shè)置獨立線程池,那么HystrixThreadPoolKey 是 RibbonCommand 。

Hystrix并發(fā)配置參數(shù)請參考《Hystrix并發(fā)配置參數(shù)一節(jié)》

  • Zuul并發(fā)參數(shù):

Zuul內(nèi)置的Filterhttp://www.itmuch.com/%2Fspring-cloud%2Fzuul%2Fzuul-filter-in-spring-cloud%2F

對于形如:

1 zuul: 2 routes: 3 user-route: # 該配置方式中,user-route只是給路由一個名稱,可以任意起名。 4 url: http://localhost:8000/ # 指定的url 5 path: /user/** # url對應(yīng)的路徑。

的路由,可使用如下方式配置并發(fā)參數(shù):

1 zuul: 2 host: 3 max-total-connections: 200 # 默認(rèn)值 4 max-per-route-connections: 20 # 默認(rèn)值
  • 當(dāng)Zuul底層使用的是Apache HttpClient時,對于使用Ribbon的路由,可使用如下方式配置并發(fā)參數(shù):
1 serviceId: 2 ribbon: 3 MaxTotalConnections: 0 # 默認(rèn)值 4 MaxConnectionsPerHost: 0 # 默認(rèn)值

相關(guān)代碼:org.springframework.cloud.netflix.ribbon.support.AbstractLoadBalancingClient 子類的createDelegate 方法。



轉(zhuǎn)載自:http://www.itmuch.com/spring-cloud-sum/spring-cloud-concurrent/

轉(zhuǎn)載于:https://www.cnblogs.com/justlove/p/8028361.html

總結(jié)

以上是生活随笔為你收集整理的Spring Cloud 各组件调优参数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。