theme theme
您现在的位置:厦门光沃自动化设备有限公司首页 > 产品中心 > A06B-6114-H109
2025年01月27日 星期一

产品中心

  • A06B-6114-H109

  • 更新时间:2025-01-27
  • 联系方式

    18030229050  /  0592-5709821

    欧阳 先生(销售

  • 举报
  • 收藏该店铺
  • 已收藏
详细信息

A06B-6114-H109

A06B-6114-H109分布式单实例容灾

出于容灾的目的,我们希望Daemon具有容灾能力。换言之若有Daemon实例异常挂起或退出,其他机器的实例进程可以继续执行任务。但同时我们又希望同一时刻只需要一个实例运行,即“分布式单实例”。所以我们完整的需求可以归纳为 “分布式单实例容灾部署” 。

实现这一目标,方式有很多种,例如:

  • 接入“调度中心”,由调度中心来负责调度各个机器;

  • 各节点在执行任务前先分布式抢锁,只有成功占用锁资源的节点才能执行任务;

  • 各节点通过通信选出“master"来执行逻辑,并通过心跳包持续通信,若“master”掉线,则备机取代成为master继续执行。

主要从开发成本,运维支撑两方面来考虑,选取了基于chubby分布式锁的方案来实现单实例容灾部署。这也使得我们真正执行业务逻辑的机器具有随机性。

5. 可靠交付

这是一个核心问题,如何保证任务的通知满足At-least-once的要求?

我们系统主要通过以下两种方式来保证。

1.任务达到时即存入tablekv持久化存储,任务成功通知业务方才设置过期(保留一段时间后删除),故而所有任务都是落地数据,保证事后可以对账。

2.引入可靠事件中心。在这里使用的是事件中心的普通消息,而非事务消息。实质是当做一个高可用性的消息队列。

这里引入消息队列的意义在于:

  • 将任务调度和任务执行解耦(调度服务并不需要关心任务执行结果)。

  • 异步化,保证调度服务的执行,调度服务的执行是以ms为单位。

  • 借助消息队列实现任务的可靠消费。

事件中心相比普通的消息队列还具有哪些优点呢?

  • 某些消息队列可能丢消息(由其实现机制决定),而事件中心本身底层的分布式架构,使得事件中心保证的可用性和可靠性,基本可以忽略丢消息的情况。

  • 事件中心支持按照配置的不同事件梯度进行多次重试(回调时间可以配置)。

  • 事件中心可以根据自定义业务ID进行消息去重。

事件中心的引入,基本保证了任务从Scheduler到Notifier的可靠性。

当然,为完备的方式,是增加另一个异步Daemon作为兜底策略,扫出所有超时还未交付的任务进行投递。这里思路较为简单,不再详述。

A06B-6114-H109

站内搜索

证书荣誉

当前暂无信息

联系我们

  • 联系人: 欧阳 先生
  • 位: 销售
  • 话: 0592-5709821
  • 机: 18030229050
  • 真: 0592-5917519

推荐系列

  • 资质公示 厦门光沃自动化设备有限公司 地址: 福建省 厦门市 厦门市海沧区沧湖东一里502号702室之一
  • 管理入口  技术支持:世铝网 长江有色
扫一扫,进入微商铺
您正在使用移动设备访问世铝网,您可以
浏览移动版,继续访问电脑版