最后再扩展一下,上文我们所提到的所有方案都是单机版的,只能在单个进程中使用在线课堂。
一旦我们需要在分布式场景下实现定时任务的高可用、可维护之类的需求就得需要一个完善的分布式调度平台的支持在线课堂。
目前市面上流行的开源解决方案也不少:
xxl_job
elastic_job
light-task-scheduler
我个人在工作中只使用过前面两者,都能很好的解决分布式调度的需求;比如高可用、统一管理、日志报警等在线课堂。
当然这些开源工具其实在定时调度这个功能上和上文中所提到的一些方案是分不开的,只是需要结合一些分布式相关的知识;比远程调用、统一协调、分布式锁、负载均衡之类的在线课堂。