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 @kexianjun would you like to close the existing pr, and reopen a new pr to achieve this change? [ 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]
