前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分布式消息队列

分布式消息队列

作者头像
dys
发布2018-04-03 16:29:29
1.6K0
发布2018-04-03 16:29:29
举报
文章被收录于专栏:性能与架构性能与架构

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

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

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

消息队列的定义

消息”指进程间传送的数据队列”是在消息的传输过程中保存消息的容器 消息被发送到队列中,消息队列充当中间人,将消息从源发送给目标 当系统中出现“生产“和“消费“的速度或稳定性等因素不一致时,就需要消息队列,作为抽象层,弥合双方的差异 例如 (1)服务员点菜快,厨师做菜慢,服务员只需要下单给厨师,然后就可以继续去服务顾客,不需要等待厨师把菜做完 点菜单就相当于消息,放单子的位置就相当于队列 (2)业务系统需要发短信,但短信发送模块速度跟不上,业务系统就可以把发送短信的相关信息封装为一个消息,放入队列,短信发送模块从队列中获取消息进行处理

消息队列的好处

(1)提高系统响应速度 使用了消息队列,生产者一方,把消息往队列里一扔,就可以立马返回响应用户了,无需等待处理结果 (2)保证消息的传递 如果发送消息时接收者不可用,消息队列会保留消息,直到成功地传递它 (3)解耦 只要消息格式不变,即使接收者的接口、位置、或者配置改变,也不会给发送者带来任何改变 消息发送者无需知道消息接收者是谁,使得系统设计更清晰

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

(1)多系统协作需要分布式 例如消息队列中的数据需要在多个系统间共享,所以需要提供分布式通信机制、协同机制 (2)可靠 消息会被持久化到分布式存储中,这样避免了单台机器存储的消息由于机器问题导致消息的丢失 (3)可扩展 分布式消息队列,会随着访问量的增加而方便的增加处理服务器

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-02-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高性能架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档