Skip to content

Commit e744795

Browse files
committed
docs(distributed-system): update dubbo-load-balancing.md
更新 Dubbo 集群容错策略相关描述 详细说明查看:https://github.com/doocs/advanced-java/blob/master/docs/distributed-system/dubbo-load-balancing.md
1 parent c1cbcbc commit e744795

File tree

1 file changed

+37
-5
lines changed

1 file changed

+37
-5
lines changed

docs/distributed-system/dubbo-load-balancing.md

Lines changed: 37 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,22 +32,54 @@ dubbo 负载均衡策略和集群容错策略都有哪些?动态代理策略
3232

3333
### dubbo 集群容错策略
3434
#### failover cluster 模式
35-
失败自动切换,自动重试其他机器,默认就是这个,常见于读操作。(失败重试其它机器)
35+
失败自动切换,自动重试其他机器,**默认**就是这个,常见于读操作。(失败重试其它机器)
3636

37-
#### failfast cluster模式
38-
一次调用失败就立即失败,常见于写操作。(调用失败就立即失败)
37+
可以通过以下几种方式配置重试次数:
38+
39+
```xml
40+
<dubbo:service retries="2" />
41+
```
42+
43+
或者
44+
45+
```xml
46+
<dubbo:reference retries="2" />
47+
```
48+
49+
或者
50+
51+
```xml
52+
<dubbo:reference>
53+
<dubbo:method name="findFoo" retries="2" />
54+
</dubbo:reference>
55+
```
56+
57+
#### failfast cluster 模式
58+
一次调用失败就立即失败,常见于非幂等性的写操作,比如新增一条记录(调用失败就立即失败)
3959

4060
#### failsafe cluster 模式
4161
出现异常时忽略掉,常用于不重要的接口调用,比如记录日志。
4262

63+
配置示例如下:
64+
65+
```xml
66+
<dubbo:service cluster="failsafe" />
67+
```
68+
69+
或者
70+
71+
```xml
72+
<dubbo:reference cluster="failsafe" />
73+
```
74+
4375
#### failback cluster 模式
4476
失败了后台自动记录请求,然后定时重发,比较适合于写消息队列这种。
4577

4678
#### forking cluster 模式
47-
**并行调用**多个 provider,只要一个成功就立即返回。
79+
**并行调用**多个 provider,只要一个成功就立即返回。常用于实时性要求比较高的读操作,但是会浪费更多的服务资源,可通过 `forks="2"` 来设置最大并行数。
4880

4981
#### broadcacst cluster
50-
逐个调用所有的 provider。
82+
逐个调用所有的 provider。任何一个 provider 出错则报错(从`2.1.0` 版本开始支持)。通常用于通知所有提供者更新缓存或日志等本地资源信息。
5183

5284
### dubbo动态代理策略
5385
默认使用 javassist 动态字节码生成,创建代理类。但是可以通过 spi 扩展机制配置自己的动态代理策略。

0 commit comments

Comments
 (0)