集群方式,可选:failover/failfast/failsafe/failback/forking
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">