crontab和消息队列的区别在那里?

我比较熟悉crontab也常用crontab,定时任务就想当于可以设置每天这个时间执行数据库里没有执行的任务,我感觉就是像是消息队列一样,有任务生产者和任务执行者。我想知道区别是什么?

阅读 4k
4 个回答

哥们,这是完全没可比性的两个东西呀——尽管你在实践上会把他们用在类似的场景。

消息队列,好比一根塑料管,一头往里放鸡蛋,另一头有人拿走(先别追究先进先出、先进后出、优先级这些,纯粹为举例简单);

计划任务(Crontab 或 Java 的 Timer,ScheduledExecutorService 等),它只是个铃铛,到点响一下叫你起床工作,但为了应用到 P-C 模式里,你可以在这个铃铛边上放个篮子(数据库、日志、队列都行),任何一只母鸡(Producer)吃饱了都把蛋下到里面,铃铛响了你(Consumer)就去检查篮子里有蛋没。

crontab 和 消息队列 不是一个东西。消息队列,这里面最重要的就是消息,也就是一个消息排队的中间件,作用一般是应用间的解耦,削峰填谷等,你对crontab 比较熟悉应该是知道 crontab 不是处理消息的,只是根据时间表示式去执行任务而已。

应用场景不同

两者完全没有可比性

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题