可靠定时任务系统的设计

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

  • 生产者,定时器,消费者;
  • 要求三个部分都保证可靠;
  • 同时要保证多个生产者只能发出一条延迟消息,无论有多少消费者一条消息只能被消费一次;
  • 生产者可用etcd或者直接用raft来实现选主后,由主节点发送延迟消息,从而保证可靠性,防止产生重复的消息,此处不会成为性能瓶颈;
  • 对于周期性定时任务,生产者可以同时作为一个消费者,在收到延迟消息后计算出下次触发时间再发出一个延迟消息,可在消息体的设计加入关于周期定时的信息。

你可能感兴趣的:(可靠定时任务系统的设计)