Here is my suggestion to improve Dubbo’s HeartBeat Design.

- The design of the two-way heartbeat is unnecessary, compatible with the 
existing logic, allowing the client to send a one-way heartbeat when the 
connection is idle, and the server periodically detects the connection 
availability. Timed time to ensure: client timeout * 3 ≈ server timeout
- Remove the timing tasks for reconnection and disconnection. Dubbo can judge 
whether the heartbeat request fails to respond. You can learn from the design 
of the improved scheme, maintain a mark of the number of heartbeat failures at 
the connection level, and successfully respond to any failures. Clear the mark; 
continuous heartbeat failure. The client initiates a reconnection. This can 
reduce an unnecessary timer, and any polling method is not elegant.

I've described more details in my blog, about Dubbo's existing heartbeat 
program, its shortcomings, and the advantages of replacing it with a new 
solution, as well as some forward thinking, welcome to discuss.

bolg:https://www.cnkirito.moe/heartbeat-design

[ Full content available at: 
https://github.com/apache/incubator-dubbo/issues/3151 ]
This message was relayed via gitbox.apache.org for 
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to