Here is how heartbeat works in Dubbo:
Heartbeat scheduler will schedule HeartbeatTask in every heartbeat time, when being scheduled, HeartbeatTask will internally continue to check the necessity of sending a heartbeat event (only send when it find that the idle interval >heartbeat).
Consider different combinations of these two intervals: schedule interval and idle interval, we may have a chance of idle for 2*heartbeat on a wire without any request/response or heartbeat event being sent.
Though the timeout interval in Dubbo is 3*heartbeat, and 2*heartbeat idle would not mislead Dubbo to terminate the connection, we may need to increase the frequency of the scheduler to make it more accurate.
Here is how heartbeat works in Dubbo:
Heartbeat scheduler will schedule HeartbeatTask in every
heartbeattime, when being scheduled, HeartbeatTask will internally continue to check the necessity of sending a heartbeat event (only send when it find that the idle interval>heartbeat).Consider different combinations of these two intervals: schedule interval and idle interval, we may have a chance of idle for
2*heartbeaton a wire without any request/response or heartbeat event being sent.Though the timeout interval in Dubbo is
3*heartbeat, and2*heartbeatidle would not mislead Dubbo to terminate the connection, we may need to increase the frequency of the scheduler to make it more accurate.