@@ -16,11 +16,11 @@ dubbo 负载均衡策略和集群容错策略都有哪些?动态代理策略
16
16
17
17
### dubbo 负载均衡策略
18
18
19
- #### random loadbalance
19
+ #### RandomLoadBalance
20
20
21
- 默认情况下,dubbo 是 random load balance ,即** 随机** 调用实现负载均衡,可以对 provider 不同实例** 设置不同的权重** ,会按照权重来负载均衡,权重越大分配流量越高,一般就用这个默认的就可以了。
21
+ 默认情况下,dubbo 是 RandomLoadBalance ,即** 随机** 调用实现负载均衡,可以对 provider 不同实例** 设置不同的权重** ,会按照权重来负载均衡,权重越大分配流量越高,一般就用这个默认的就可以了。
22
22
23
- #### roundrobin loadbalance
23
+ #### RoundRobinLoadBalance
24
24
25
25
这个的话默认就是均匀地将流量打到各个机器上去,但是如果各个机器的性能不一样,容易导致性能差的机器负载过高。所以此时需要调整权重,让性能差的机器承载权重小一些,流量少一些。
26
26
@@ -30,17 +30,19 @@ dubbo 负载均衡策略和集群容错策略都有哪些?动态代理策略
30
30
31
31
这个时候,可以给两台 8 核 16G 的机器设置权重 4,给剩余 1 台 4 核 8G 的机器设置权重 2。
32
32
33
- #### leastactive loadbalance
33
+ #### LeastActiveLoadBalance
34
34
35
35
这个就是自动感知一下,如果某个机器性能越差,那么接收的请求越少,越不活跃,此时就会给** 不活跃的性能差的机器更少的请求** 。
36
36
37
- #### consistanthash loadbalance
37
+ #### ConsistentHashLoadBalance
38
38
39
39
一致性 Hash 算法,相同参数的请求一定分发到一个 provider 上去,provider 挂掉的时候,会基于虚拟节点均匀分配剩余的流量,抖动不会太大。** 如果你需要的不是随机负载均衡** ,是要一类请求都到一个节点,那就走这个一致性 Hash 策略。
40
40
41
+ > 关于 dubbo 负载均衡策略更加详细的描述,可以查看官网 http://dubbo.apache.org/zh-cn/docs/source_code_guide/loadbalance.html 。
42
+
41
43
### dubbo 集群容错策略
42
44
43
- #### failover cluster 模式
45
+ #### Failover Cluster 模式
44
46
失败自动切换,自动重试其他机器,** 默认** 就是这个,常见于读操作。(失败重试其它机器)
45
47
46
48
可以通过以下几种方式配置重试次数:
@@ -63,11 +65,11 @@ dubbo 负载均衡策略和集群容错策略都有哪些?动态代理策略
63
65
</dubbo : reference >
64
66
```
65
67
66
- #### failfast cluster 模式
68
+ #### Failfast Cluster 模式
67
69
68
70
一次调用失败就立即失败,常见于非幂等性的写操作,比如新增一条记录(调用失败就立即失败)
69
71
70
- #### failsafe cluster 模式
72
+ #### Failsafe Cluster 模式
71
73
72
74
出现异常时忽略掉,常用于不重要的接口调用,比如记录日志。
73
75
@@ -83,18 +85,20 @@ dubbo 负载均衡策略和集群容错策略都有哪些?动态代理策略
83
85
<dubbo : reference cluster =" failsafe" />
84
86
```
85
87
86
- #### failback cluster 模式
88
+ #### Failback Cluster 模式
87
89
88
90
失败了后台自动记录请求,然后定时重发,比较适合于写消息队列这种。
89
91
90
- #### forking cluster 模式
92
+ #### Forking Cluster 模式
91
93
92
94
** 并行调用** 多个 provider,只要一个成功就立即返回。常用于实时性要求比较高的读操作,但是会浪费更多的服务资源,可通过 ` forks="2" ` 来设置最大并行数。
93
95
94
- #### broadcacst cluster
96
+ #### Broadcast Cluster 模式
95
97
96
98
逐个调用所有的 provider。任何一个 provider 出错则报错(从 ` 2.1.0 ` 版本开始支持)。通常用于通知所有提供者更新缓存或日志等本地资源信息。
97
99
98
- ### dubbo动态代理策略
100
+ > 关于 dubbo 集群容错策略更加详细的描述,可以查看官网 http://dubbo.apache.org/zh-cn/docs/source_code_guide/cluster.html 。
101
+
102
+ ### dubbo 动态代理策略
99
103
100
104
默认使用 javassist 动态字节码生成,创建代理类。但是可以通过 spi 扩展机制配置自己的动态代理策略。
0 commit comments