分布式消息队列

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

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

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

消息队列的定义

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

消息队列的好处

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

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

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

原文发布于微信公众号 - 性能与架构(yogoup)

原文发表时间:2016-02-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大前端开发

从编程小白到全栈开发:从最容易的开始

学习编程,重要的一点就是要进行思考,而更重要的一点是进行动手实践。简单的代码逻辑,我们可能想想就能在脑子里建立出这个代码的样子来,但是别以为你能永远这样人肉运行...

10230
来自专栏hadoop学习笔记

超详细hadoop系统安装教程(附步骤)

在前几篇的文章中分别就虚拟系统安装、LINUX系统安装以及hadoop运行服务器的设置等内容写了详细的操作教程,本篇分享的是hadoop的下载安装步骤。

17030
来自专栏皮振伟的专栏

[linux][nginx]nginx的graceful shutdown和worker shutdown timeout

前言: 某大佬问作者,nginx做proxy的时候,重新加载配置的时候,会不会影响已有的连接? 作者基于too young too simple的认知:clie...

26820
来自专栏花叔的专栏

关于“小程序跳转小程序”功能调整

即日起,若用户未点击小程序页面任意位置,则开发者将无法调用 wx.navigateToMiniProgram 接口自动跳转至其他小程序。

12110
来自专栏

即时通信服务器架构的一些思考

对于一个即时通信服务器来说,在用户量少的时候,一台服务器就足以提供所有的服务。而这种架构也最简单,举个例子,用户A与用户B互为好友,A向B发消息,服务器接收到消...

24750
来自专栏高性能服务器开发

关于即时通信服务器架构的一些思考

对于一个即时通信服务器来说,在用户量少的时候,一台服务器就足以提供所有的服务。而这种架构也最简单,举个例子,用户A与用户B互为好友,A向B发消息,服务器接收到消...

30350
来自专栏我是攻城师

如何收集项目日志统一发送到kafka中?

44640
来自专栏性能与架构

Linux 全能型监控工具

dstat是Linux中功能很全面的一个监控工具 dstat官方将其定义为vmstat、iostat、ifstat等工具的多功能替代品,且添加了许多额外的功能 ...

38580
来自专栏优启梦

使用Referer Meta标签控制referer 来源

本文描述了一个关于 http 协议中 referer 的 metadata 参数的提议,使用这个 metadata 参数,html 文档可以控制 http 请求...

30550
来自专栏同步博客

PHP将数据导出Excel表中(投机型)

  因为ms word和excel的文档都支持html文本格式,因此我们可以基于这个原理采用html文本格式进行数据的输出。

13430

扫码关注云+社区

领取腾讯云代金券