在和同事介绍celery时 同事说了一句“这不就是kafka吗?”。
那么YTask和nsq,celery和kafka?他们之间到底有什么不同呢?下面我结合自己的理解。简单的分析一下,如有不足请指出。
首先,nsq和kafka它们属于消息队列 celery它们属于任务队列。
其实他们都是利用队列(先进先出)的特性已经增加自己的存储功能 实现不同场景下的处理
消息队列和任务队列,最大的不同之处就在于理念的不同 -- 消息队列传递的是“消息”,任务队列传递的是“任务” 。
这句话何解呢?
我们可以放到具体的应用场景上:
从上面的例子可看出:
因此可以简单认为任务队列就是消息队列在异步任务场景下的深度化定制开发。