分布式消息队列
Posted 性能与架构
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分布式消息队列相关的知识,希望对你有一定的参考价值。
‘分布式消息队列’包含两个概念
一是‘消息队列’,二是‘分布式’
那么就先看下消息队列的概念,和为什么需要分布式
消息队列的定义
“消息”指进程间传送的数据
“队列”是在消息的传输过程中保存消息的容器
消息被发送到队列中,消息队列充当中间人,将消息从源发送给目标
当系统中出现“生产“和“消费“的速度或稳定性等因素不一致时,就需要消息队列,作为抽象层,弥合双方的差异
例如
(1)服务员点菜快,厨师做菜慢,服务员只需要下单给厨师,然后就可以继续去服务顾客,不需要等待厨师把菜做完
点菜单就相当于消息,放单子的位置就相当于队列
(2)业务系统需要发短信,但短信发送模块速度跟不上,业务系统就可以把发送短信的相关信息封装为一个消息,放入队列,短信发送模块从队列中获取消息进行处理
消息队列的好处
(1)提高系统响应速度
使用了消息队列,生产者一方,把消息往队列里一扔,就可以立马返回响应用户了,无需等待处理结果
(2)保证消息的传递
如果发送消息时接收者不可用,消息队列会保留消息,直到成功地传递它
(3)解耦
只要消息格式不变,即使接收者的接口、位置、或者配置改变,也不会给发送者带来任何改变
消息发送者无需知道消息接收者是谁,使得系统设计更清晰
为什么需要分布式消息队列
(1)多系统协作需要分布式
例如消息队列中的数据需要在多个系统间共享,所以需要提供分布式通信机制、协同机制
(2)可靠
消息会被持久化到分布式存储中,这样避免了单台机器存储的消息由于机器问题导致消息的丢失
(3)可扩展
分布式消息队列,会随着访问量的增加而方便的增加处理服务器
点击 阅读原文 查看 文章列表
以上是关于分布式消息队列的主要内容,如果未能解决你的问题,请参考以下文章