我们可以看到它会根据不同的路由策略返回对应的路由结果,这里我们会走到 ExecutorRouteFailover 的 route 方法:
在上述代码中会根据 addressList 地址列表做一个心跳通讯,addressList 是 执行器在启动的时候自动向调度中心注册的 ip 地址:
现在我们假设有2个执行器 ip1,ip2.。所以在上述循环中会根据ip1和ip2 做2次心跳检测, 心跳检测 根据上文源码运行解析可以知道 其实就是调度中心发送rpc请求 去执行器中执行 ExecutorBizImpl 的 beat 方法:
若 任何一个ip地址心跳检测成功则会返回 ReturnT.SUCCESS,然后将当前的 ip 地址返回 ,通过该ip地址会执行正常的调度请求。 若所有注册的ip 地址都心跳检测失败呢,我们继续往下看 processTrigger 方法: