APPLICATION_ID: blog service_description: name: comment-service version: 2.0.11 properties: allowCrossApp: false environment: production #production, development,在开发的时候配置成开发模式,修改契约可以不变更版本 cse: service: registry: address: http://10.21.208.113:30100 instance: healthCheck: interval: 30 # 健康检查间隔时间,默认30秒,可选 times: 3 # 健康检查检测次数,默认3次,可选 watch: true # watch机制可以快速感知实例变化 diagnose: interval: 12 config: client: serverUri: http://10.21.208.113:30103 refreshMode: 1 refresh_interval: 5000 first_refresh_interval: 5000 **: client: serverUri: http://10.21.208.113:30109 sslEnalbed: false #如果开启https,请设置为true enabled: true # 是否开启,如果不需要对接,请设置成false rest: address: 0.0.0.0:18082?sslEnabled=false&protocol=http2 client: thread-count: 8 connection: maxPoolSize: 10 idleTimeoutInSeconds: 30 #单位秒 keepAlive: true server: thread-count: 8 compression: false #支持服务端压缩 maxHeaderSize: 8192 #单位byte timeout: 3000 #单位毫秒,使用rest over servlet方式时生效 connection: idleTimeoutInSeconds: 60 # 服务端连接超时时间,一个连接在指定时间内没有接收到请求 uploads: directory: /home/upload # 文件上传 maxSize: 1024 #上传文件body大小,也可以作为传输数据的大小限制 maxFileSize: 3 #文件个数限制 fileSizeThreshold: 0 #磁盘大小阈值 request: timeout: 1000 #请求超时时间 accesslog: enabled: true pattern: "%h %{dd/MMM/yyyy:HH:mm:ss.SSSZ|GMT+0008|en_US}t %r %s %B %D" metrics: enabled: true window_time: 600000 publisher: defaultLog: enabled: true handler: chain: Provider: default: qps-flowcontrol-provider,bizkeeper-provider Consumer: default: qps-flowcontrol-consumer,loadbalance,bizkeeper-consumer # 数据中心,用于服务做亲缘性选择,优先调用本az服务 datacenter: name: myDC #数据中心名称, region: my-Region #数据中心区域,比如华南soutchchina、华北northchina availableZone: my-Zone #数据中心可用取sz isolation: Consumer: maxConcurrentRequests: 20 #限流相关配置 flowcontrol: Provider: #服务端限流 qps: global: limit: 1000 #全局限流,默认是最大值 limit: service1: 500 #对单个consuer服务进行限流,默认无,如果有要求需要添加 Consumer: qps: limit: serivce2: #对服务级别限流500 schema1: #对服务的schema级别进行限流500 operation1: 100 #对服务的schema的操作级别进行限流 #服务容错 fallback: #容错策略支持全局、微服务和方法级别 Consumer: springmvc: codeFirst: fallbackForce: enabled: true #是否开启容错机制,默认为false force: true #是否强制开启容错机器 maxConcurrentRequests: 10 #隔离时最大的并发数,默认为10,客户端调用时 fallbackpolicy: #容错策略,默认提供returnNull throwException fromCache三种策略,用户可以自己实现org.apache.servicecomb.bizkeeper.FallbackPolicy接口, policy支持全局、微服务和方法级别 Consumer: springmvc: codeFirst: fallbackFromCache: policy: fromCache # 从缓存中获取上一次成功的数据, fallbackReturnNull: policy: returnNull #服务降级返回null,用户需要对该值进行处理,不能抛出空指针异常 fallbackThrowException: policy: throwException #服务降级抛出的异常为org.apache.servicecomb.core.exception.CseException,降级时,用户需要捕获该异常做自己的逻辑 fallbackForce: policy: mycustom #熔断策略支持全局、微服务和方法级别 circuitBreaker: Consumer: springmvc: codeFirst: fallbackFromCache: enabled: true #是否开启熔断 forceOpen: true #强制开启熔断 forceClosed: false #强制关闭熔断,和forceOpen互斥 sleepWindowInMilliseconds: 15000 #熔断时间,默认15000毫秒 requestVolumeThreshold: 20 #统计时间窗内最少请求次数,如果没有达到该请求次数不会进行熔断,即使失败率达到熔断要求 errorThresholdPercentage: 50 #失败率,统计时间窗内请求错误率,达到该限制后会进行熔断,默认50% #负载均衡、路由策略,重试机制支持全局和微服务两个级别 loadbalance: bservice: retryEnabled: true #是否开启重试机制 retryOnSame: 1 #在同一个机器上重试次数,默认为0,重试需要保证可重入性、幂等性 retryOnNext: 2 #在另外实例上重试次数,默认为0,如果是无状态的请求,建议选择在下一个节点上行进行重试 retryHandler: default #重试handler,默认为default,对应com.netflix.client.DefaultLoadBalancerRetryHandler,也可以实现自己的重试机制。可选 transactionControl: options: tag0: value0 #过滤器的属性,到时候只选择实例也有同样的属性的实例 policy: org.apache.servicecomb.loadbalance.filter.SimpleTransactionControlFilter #分流策略,默认使用简单的分流策略,选择properties包含filter的所有options的所有实例,即filter的options为所选实例的properties的一个子集 isolation: # 支持服务级别和全局 enabled: true #开启隔离机制 errorThresholdPercentage: 20 #隔离错误率 enableRequestThreshold: 20 #隔离门槛 singleTestTime: 10000 #隔离后有机会重试的时间 strategy: name: RoundRobin #现在支持RoundRobin轮询 Random随机 WeightedResponse返回值权重 SessionStickiness会话粘滞,默认为RoundRobin SessionStickinessRule: #当会话粘滞策略开启后生效 sessionTimeoutInSeconds: 30 #会话粘滞的时间,默认30s,可选 successiveFailedTimes: 5 #会话 粘滞最大错误数,默认5次,可选 references: version-rule: 0+ #对所有服务的版本依赖范围 abcservice: version-rule: 1.0.1+ #对特定的服务版本依赖范围 transport: rest #当服务端开启多种协议是,显示指定传输协议,默认为空,可设置为“”、rest、highway executor: default: thread-per-group: 200 # 同步开发模式下面的默认工作线程数 ssl: engine: openssl protocols: TLSv1.2 authPeer: false checkCN.host: false trustStore: trust.jks trustStoreType: JKS trustStoreValue: ******** keyStore: server.p12 keyStoreType: PKCS12 keyStoreValue: ******** crl: revoke.crl sslCustomClass: com.service.comment.DemoSSLCustom
ServiceComb/CSE 配置大全
最新推荐文章于 2025-01-13 11:44:51 发布