分布式消息队列

Posted 性能与架构

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分布式消息队列相关的知识,希望对你有一定的参考价值。

‘分布式消息队列’包含两个概念


一是‘消息队列’,二是‘分布式’


那么就先看下消息队列的概念,和为什么需要分布式

消息队列的定义


消息”指进程间传送的数据

队列”是在消息的传输过程中保存消息的容器

消息被发送到队列中,消息队列充当中间人,将消息从源发送给目标

当系统中出现“生产“和“消费“的速度或稳定性等因素不一致时,就需要消息队列,作为抽象层,弥合双方的差异

例如

(1)服务员点菜快,厨师做菜慢,服务员只需要下单给厨师,然后就可以继续去服务顾客,不需要等待厨师把菜做完

点菜单就相当于消息,放单子的位置就相当于队列

(2)业务系统需要发短信,但短信发送模块速度跟不上,业务系统就可以把发送短信的相关信息封装为一个消息,放入队列,短信发送模块从队列中获取消息进行处理

消息队列的好处


(1)提高系统响应速度

使用了消息队列,生产者一方,把消息往队列里一扔,就可以立马返回响应用户了,无需等待处理结果

(2)保证消息的传递

如果发送消息时接收者不可用,消息队列会保留消息,直到成功地传递它

(3)解耦

只要消息格式不变,即使接收者的接口、位置、或者配置改变,也不会给发送者带来任何改变

消息发送者无需知道消息接收者是谁,使得系统设计更清晰


为什么需要分布式消息队列


(1)多系统协作需要分布式

例如消息队列中的数据需要在多个系统间共享,所以需要提供分布式通信机制、协同机制

(2)可靠

消息会被持久化到分布式存储中,这样避免了单台机器存储的消息由于机器问题导致消息的丢失

(3)可扩展

分布式消息队列,会随着访问量的增加而方便的增加处理服务器



点击 阅读原文 查看 文章列表



以上是关于分布式消息队列的主要内容,如果未能解决你的问题,请参考以下文章

大型网站架构系列:分布式消息队列

大型网站架构之分布式消息队列

大型网站架构系列:分布式消息队列 (转)

分布式消息队列

大型网站架构系列:分布式消息队列

大型网站架构之分布式消息队列