You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by GitBox <gi...@apache.org> on 2020/12/24 11:10:05 UTC

[GitHub] [servicecomb-java-chassis] huangdong-new commented on issue #2163: 服务治理功能咨询

huangdong-new commented on issue #2163:
URL: https://github.com/apache/servicecomb-java-chassis/issues/2163#issuecomment-750850101


   > 给出这样的配置是很困难的,大部分治理都是和"业务要求"相关的。 只能给你提供一个实际项目"常用配置"有哪些,你可以参考.
   > 
   > * 作为 Provier
   > 
   > ```
   > servicecomb:
   >   service:
   >     registry:
   >       address: http://127.0.0.1:30100
   >       instance:
   >         healthCheck:
   >           interval: 30 #健康检查间隔时间
   >           times: 3 #健康检查检测次数
   >         watch: true #watch机制可以快速感知实例变化,提升路由准确性
   >         diagnose:
   >           interval: 24 # 检测服务中心实例信息和本地是否一致周期,需要结合CSE界面的故障诊断使用。
   >   config:
   >     client:
   >       serverUri: http://127.0.0.1:30103 #配置CC的地址,用于连接CC,用于微服务治理的配置下发和刷新
   >       refreshMode: 1
   >       refresh_interval: 30000
   >       first_refresh_interval: 30000
   >   rest:
   >     address: 127.0.0.1:38082?sslEnabled=true
   >     server:
   >       thread-count: 8
   >       compression: true #支持服务端压缩
   >       maxHeaderSize: 8192 #HTTP消息头的最大长度设置为8K
   >       connection:
   >         idleTimeoutInSeconds: 60 # 服务端连接超时时间,一个连接在指定时间内没有接收到请求,就主动关闭该连接
   >   executors: #按照schemaId和操作名配置线程隔离仓
   >     Provider:
   >       app.getAppInfo: appinfo-query-threadPool
   >     client:
   >       thread-count: 8
   >       connection:
   >         maxPoolSize: 20
   >   uploads:
   >     directory: /home/upload  # 文件上传目录,有上传下载功能的业务需要自己规划
   >     maxSize: 10485760 #上传文件body大小,应用市场建议设置为10M
   >     maxFileSize: 3 #一次支持上传的文件个数,建议为3个
   >   metrics:
   >     enabled: true #默认需要打开CSE的性能统计开关,用于协助问题定位
   >   datacenter:
   >     name: AppMarket #数据中心名称,默认设置为AppMarket
   >     region: North-China #区域
   >     availableZone: JiuXianQiao
   >   flowcontrol:
   >     Provider: #服务端限流
   >       qps:
   >         global:
   >           limit: 10000 #全局限流,包含所有的接口流量,默认设置为1W QPS
   >         limit:
   >           springmvcClient: 1000 #关键字为 serivce: 对某个消费端进行限流(使用消费端微服务名),实际取值为服务名
   > ```
   > 
   > * 作为 Consumer
   > 
   > ```
   > servicecomb:
   >   service:
   >     registry:
   >       address: http://127.0.0.1:30100
   >       instance:
   >         healthCheck:
   >           interval: 30 #健康检查间隔时间
   >           times: 3 #健康检查检测次数
   >         watch: true #watch机制可以快速感知实例变化,提升路由准确性
   >         diagnose:
   >           interval: 24 # 检测服务中心实例信息和本地是否一致周期,需要结合CSE界面的故障诊断使用。
   >   config:
   >     client:
   >       serverUri: http://127.0.0.1:30103 #配置CC的地址,用于连接CC,用于微服务治理的配置下发和刷新
   >       refreshMode: 1
   >       refresh_interval: 30000
   >       first_refresh_interval: 30000
   > 
   >   rest:
   >     client:
   >       thread-count: 8 #设置客户端网络线程数,系统默认为1,建议设置为8
   >       connection:
   >         maxPoolSize: 30 #连接池不要设置太大,不能超过30,对于异步I/O系统,瓶颈通常在后端业务处理,链路过多有风险
   >         idleTimeoutInSeconds: 30 #链路空闲时间,达到该阈值后主动关闭HTTP链接
   >         keepAlive: true #使用HTTP长连接机制,对于内部RPC通信,不能使用短连接,否则有性能问题
   >   request:
   >     timeout: 30000 #微服务消费端超时时间
   >   metrics:
   >     enabled: true #默认需要打开CSE的性能统计开关,用于协助问题定位
   >   datacenter:
   >     name: AppMarket #数据中心名称,默认设置为AppMarket
   >     region: North-China #区域
   >     availableZone: Zone-1
   >   flowcontrol:
   >     Consumer:
   >       qps:
   >         limit:
   >           app: #关键字为 serivce: 对服务进行限流,实际取值为服务名
   >             app: #关键字为 schema: 对服务的schema进行限流,实际取值为schema名
   >               getAppInfo: 100 #关键字为 operation: 对服务的schema的操作级别进行限流,实际取值为操作名
   >   loadbalance:
   >     retryEnabled: true #默认开启重试机制
   >     retryOnSame: 0 #不在同一台机器重试,大部分情况下在同一台机器重试会加重目标服务实例的负载,建议切换到其它服务实例重试
   >     retryOnNext: 1 #在另外实例上重试次数,默认为0, 建议修改为1
   >     isolation: # 支持服务级别和全局的故障隔离
   >       enabled: true #开启实例级故障隔离
   >       errorThresholdPercentage: 0 # 隔离错误率阈值,业务可根据自己的可靠性指标进行修改
   >       enableRequestThreshold: 10 #隔离门槛,该条件是隔离的必要条件,在1分钟统计周期内调用量达到该门槛才会进入熔断判断逻辑,默认为600,即10TPS,业务可修改
   >       singleTestTime: 60000 # 故障实例单点测试时间,隔离之后,每隔该时间会测试下被隔离的服务实例是否恢复,业务可修改
   >       continuousFailureThreshold: 5
   >       name: WeightedResponse # 服务器响应时间权值路由策略,这样可以保证负载高的节点分发的消息更少一些
   >   references:
   >     version-rule: 0+ #对所有服务的版本依赖范围,防止因为修改路由策略而改变版本路由规则
   > 
   >   accesslog: #开启CSE的接口日志
   >     enabled: true
   >   metrics: #开启CSE的性能统计接口日志
   >     publisher:
   >       defaultLog:
   >         enabled: true
   > ```
   
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org