problem
Dubbo 2.5.3 version Use Group Group for registration with a bug, in the use of ZK registration or logoff, Dubbo is based on the name of the interface to create ZK node, did not set the grouping node and version node, in the cluster larger, grouped more cases, once the project registration or cancellation of more services, Dubbo will frequently read the same node (interface only), which causes ZK to have a large amount of repetitive output traffic, resulting in a rapid decline in the ability to deliver services. Solution
The fix is to register and look up the service, with a grouping of ZK nodes, so that you can pinpoint specific services instead of finding all the services below the interface. The following is the results of the testing of the test environment testing the validation data
The test material is as follows
Instance |
Number of interfaces |
Number of groups |
Number of Dubbo Services |
Service Side 4 Units |
1 |
60 |
Single Register 60 Services |
Consumption End 4 units |
1 |
60 |
60 service for single station consumption |
Comparison of test results before and after repair (PS: Flow monitoring using nload):
Initial start:
Number of servers started at the same time |
ZK flow (before repair) |
ZK traffic (after repair) |
Flow duration (before repair) |
Traffic duration (after repair) |
1 Sets of providers |
12mbit/s |
0.3mbit/s |
5s |
5s |
2 sets of providers |
25mbit/s |
0.3mbit/s |
5s |
5s |
1 consumers |
7mbit/s |
0.4mbit/s |
8s |
5s |
2 consumers |
9mbit/s |
0.4mbit/s |
10s |
10s |
Restart the service side:
Start the number of services at the same time |
logoff service when ZK traffic (before repair) |
logoff service ZK traffic (after repair) |
logoff service Time flow Duration (before) |
logoff traffic duration (after) |
registering service traffic (front) |
registering service (after) |
registering service traffic duration (pre |
The traffic duration (after) when registering the service |
1 service side |
19mbit/s |
1.1mbit/s |
4s |
1s |
82mbit/s |
1.1mbit/s |
30s |
1s |
2 server |
34mbit/s |
1.5mbit/s |
6s |
1s /td> |
110mbit/s |
1.2mbit/s |
180s |
1s |