Not realtime but meaningful inter-node service framework

在分布式系统里,由于网络的存在节点之间无法实时了解到彼此的状态,他们通过消息传递状态。

有一个异步跨节点的全局状态传递框架,用来传递非实时或准实时的状态,消息发送者可以参考这些状态来做一些操作,如果操作失败,可以回退到常规消息传递路径上来。

有了这套框架,可以让 90%+ 的跨网络操作延迟降低。

为了应对 bad-case 场景,可以让这套框架自适应地打开或关闭。框架感知到 worst-case 场景后,立即回退到常规路径上来。经过若干时间后,再次尝试打开。类似 SPM 的方式。

不妨称呼其为 GSR(Global State Reference)

举个例子:

发送一个子计划之前,先从 GSR 里判断目标机器里是否已经有这个子计划。如果有,那么大概率目标机器里真的有这个子计划,所以可以尝试只发送一个 hashtag 到目标机器。在目标机器里用这个 hashtag 来检索子计划,如果检索成功,则直接执行,否则给发送者回复 PLAN_NEED_RESEND 消息,发送者回退到正常的子计划发送和执行逻辑。

再比如一些非实时场景处理:在 Query 执行异常处理流程中,为了确保资源正确回收,调度节点需要等到所有执行节点返回状态后才能退出。这可能导致卡死的现象。通过 GSR,调度节点可以在等待若干秒后,向 GSR 注册一个资源回收消息,里面包含了 Query 的 execution id。GSR 会被周期性广播到所有/特定节点,节点收到消息后会执行 execution id 检测,如果发现匹配就会将执行流程中断。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值