可靠定时任务系统的设计

使用延迟消息实现,分为三个部分:

  • 生产者,定时器,消费者;
  • 要求三个部分都保证可靠;
  • 同时要保证多个生产者只能发出一条延迟消息,无论有多少消费者一条消息只能被消费一次;
  • 生产者可用etcd或者直接用raft来实现选主后,由主节点发送延迟消息,从而保证可靠性,防止产生重复的消息,此处不会成为性能瓶颈;
  • 对于周期性定时任务,生产者可以同时作为一个消费者,在收到延迟消息后计算出下次触发时间再发出一个延迟消息,可在消息体的设计加入关于周期定时的信息。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • from http://www.infoq.com/cn/articles/etcd-interpretation...
    小树苗苗阅读 14,012评论 3 38
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,168评论 19 139
  • 随 着CoreOS和Kubernetes等项目在开源社区日益火热,它们项目中都用到的etcd组件作为一个高可用强一...
    Bobby0322阅读 2,606评论 0 10
  • 因为工作需求,公司需要使用ETCD来做gRPC服务的负载均衡,以及集群管理,所以对etcd做了一些研究,希望能给大...
    Jay_Guo阅读 46,749评论 8 47
  • 01 这是一个物欲横流的时代。 我想像我这样爱情至上,浪漫至死的女孩已经不多了吧。 我常常被父母教训,被七大姑八大...
    洛书月阅读 942评论 1 6