dubbo服务集群常用配置说明
程序员文章站
2024-02-21 21:55:04
...
dubbo服务集群常用配置
服务提供者
服务消费者
Dubbo服务集群容错配置-集群容错模式
标签:
<dubbo:service> <dubbo:reference>
<dubbo:consumer> <dubbo:provider>
属性:cluster
类型:String
是否必填:可选
缺省值:failover
作用:性能调优
集群方式:可选:failover/failfast/failsafe/failback/forking
兼容性:2.0.5以上版本
1.failover cluster
失败自动切换,当出现失败,重试其他服务器(缺省),通常用于读操作,但重试会带来更长的延时,可通过retries=“2”来设置重试次数(不含第一次)
<dubbo:service retries="2">
或者
<dubbo:reference retries="2">
或者
<dubbo:reference>
<dubbo:method name="findFoo" retries=2>
<dubbo:reference/>
2.failfast cluster
快速失效,只发起一次调用,失败立即报错。通常用于非幂等性写操作,比如说新增记录
<dubbo:service cluster="failfast">
或者
<dubbo:reference cluster="failfast"
3.failsaft cluster
失败安全,出现异常时,直接忽略,通常用于写入审计日志等操作
<dubbo:service cluster="failsafe">
或者
<dubbo:reference cluster="failsafe">
4.failback cluster
失败自动恢复,后台记录失败请求,定时重发,通常用于消息通知操作
<dubbo:service cluster="failback">
或者
<dubbo:reference cluster="failback">
5.forking cluster
并行调用多个服务器,只要一个成功即返回。通常用于实时性要求较高的读操作,但需要浪费更多的服务器资源。可通过forks=“2”来设置最大并行数。
<dubbo:service cluster="forking">
或者
<dubbo:reference cluster="forking">
[img]http://dl.iteye.com/upload/picture/pic/135857/77014bf7-9224-3362-96b4-de04e4fb5e70.png[/img]
服务提供者
<dubbo:application name="pay-service-trade" />
<!-- 使用zookeeper注册中心暴露服务地址 -->
<dubbo:registry protocol="zookeeper" address="${dubbo.registry.address}" />
<dubbo:protocol name="dubbo" port="20817" />
<!-- 监控中心配置,protocol="registry",表示从注册中心发现监控中心地址 -->
<dubbo:monitor protocol="registry"/>
<!-- 当ProtocolConfig和ServiceConfig某属性没有配置时,采用此缺省值 -->
<dubbo:provider timeout="30000" threadpool="fixed" threads="100" accepts="1000" />
<!-- 提供服务接口 -->
<dubbo:service retries="0" interface="com.fsbay.pay.facade.trade.service.PaymentFacade" ref="paymentFacade" />
服务消费者
<!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->
<dubbo:application name="pay-web-bank-receive" />
<!-- 使用zookeeper注册中心暴露服务地址 -->
<!-- 多注册中心配置,竖号分隔表示同时连接多个不同注册中心,同一注册中心的多个集群地址用逗号分隔 -->
<!-- 注册中心地址 -->
<dubbo:registry protocol="zookeeper" address="${dubbo.registry.address}" />
<!-- 监控中心配置,protocol="registry",表示从注册中心发现监控中心地址 -->
<dubbo:monitor protocol="registry"/>
<!-- 生成远程服务代理,可以和本地bean一样使用accountFacade -->
<!-- 用户服务接口 -->
<dubbo:reference retries="0" interface="com.fsbay.pay.facade.user.service.UserBankAccountFacade" id="userBankAccountFacade" />
Dubbo服务集群容错配置-集群容错模式
标签:
<dubbo:service> <dubbo:reference>
<dubbo:consumer> <dubbo:provider>
属性:cluster
类型:String
是否必填:可选
缺省值:failover
作用:性能调优
集群方式:可选:failover/failfast/failsafe/failback/forking
兼容性:2.0.5以上版本
1.failover cluster
失败自动切换,当出现失败,重试其他服务器(缺省),通常用于读操作,但重试会带来更长的延时,可通过retries=“2”来设置重试次数(不含第一次)
<dubbo:service retries="2">
或者
<dubbo:reference retries="2">
或者
<dubbo:reference>
<dubbo:method name="findFoo" retries=2>
<dubbo:reference/>
2.failfast cluster
快速失效,只发起一次调用,失败立即报错。通常用于非幂等性写操作,比如说新增记录
<dubbo:service cluster="failfast">
或者
<dubbo:reference cluster="failfast"
3.failsaft cluster
失败安全,出现异常时,直接忽略,通常用于写入审计日志等操作
<dubbo:service cluster="failsafe">
或者
<dubbo:reference cluster="failsafe">
4.failback cluster
失败自动恢复,后台记录失败请求,定时重发,通常用于消息通知操作
<dubbo:service cluster="failback">
或者
<dubbo:reference cluster="failback">
5.forking cluster
并行调用多个服务器,只要一个成功即返回。通常用于实时性要求较高的读操作,但需要浪费更多的服务器资源。可通过forks=“2”来设置最大并行数。
<dubbo:service cluster="forking">
或者
<dubbo:reference cluster="forking">
[img]http://dl.iteye.com/upload/picture/pic/135857/77014bf7-9224-3362-96b4-de04e4fb5e70.png[/img]