- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
消息队列及中转软件总结
摘要
ZeroMQ ActiveMQ Redis MongoDB Memcached
都是开源产品,都可以实现消息中转的功能,但各有不同。
ZeroMQ ActiveMQ 消息中转实现形式为队列形式,分布式、集群服务助
手。
Redis MongoDB较成熟的非结构性数据库产品,key-value 数据库,结构松散
的文本型数据库。
Memcached 高性能的分布式内存对象缓存系统,数据读写速度内存级别。
MQ 消息队列
消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过写和
检索出入列队的数据(消息)来通信,而无需专用连接来链接它们。消息传递指的
是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直
接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通
信。队列的使用除去了接收和发送应用程序同时执行的要求,一般情况下都需要有
一个队列维护服务。消息服务器在分布式系统各应用间消息通信起到了至关重要的
作用。
ZeroMQ
ZeroMQ 是一种基于消息队列的多线程网络库,其对套接字类型、连接处理、
帧、甚至路由的底层细节进行抽象,提供跨越多种传输协议的套接字。ZeroMQ 是
非典型的消息中间件,而且更像是一个网络通信框架
ZeroMQ 是网络通信中新的一层,介于应用层和传输层之间(按照 TCP/IP 划
分),其是一个可伸缩层,可并行运行,分散在分布式系统间。
ZeroMQ 号称是最快的消息队列系统,尤其针对大吞吐量的需求场景。ZMQ 能
够实现 RabbitMQ 不擅长的高级/复杂的队列,但是开发人员需要自己组合多种技术
框架,技术上的复杂度是对 ZMQ 能够应用成功的挑战。ZeroMQ 具有一个独特的非
中间件的模式,甚至不需要安装和运行一个消息服务器或中间件,因为应用程序将
扮演这个服务角色。只需要简单的引用 ZeroMQ 程序库,然后就可以愉快的在应用
程序之间发送消息了。但是ZeroMQ 仅提供非持久性的队列,也就是说如果 down
机,数据将会丢失。其中,Twitter 的 Storm 中使用 ZeroMQ 作为数据流的传输。
ZMQ 是个类似于 Socket 的一系列接口,他跟 Socket 的区别是普通的 Socket
是端到端的(1:1 的关系),而 ZMQ 却是可以 N:M 的关系,人们对 BSD 套接字的
了解较多的是点对点的连接,点对点连接需要显式地建立连接、销毁连接、选择协
议 (TCP/UDP)和处理错误等,而 ZMQ 屏蔽了这些细节,让你的网络编程更为简
单。ZMQ 用于 node 与 node 间的通信,node 可以是主机或者是进程。
ZeroMQ 不是单独的服务或者程序,仅仅是一套组件,其封装了网络通信、消
息队列、线程调度等功能,向上层提供简洁的API,应用程序通过加载库文件,调
用 API 函数来实现高性能网络通信。
ZeroMQ 消息模型
ZeroMQ 将消息通信分成 4 种模型,分别是一对一结对模型 (Exclusive-
Pair)、请求回应模型 (Request-Reply)、发布订阅模型 (Publish-
Subscribe)、推拉模型(Push-Pull)。这4 种模型总结出了通用的网络通信模
型,在实际中可以根据应用需要,组合其中的 2 种或多种模型来形成自己的解决方
案。
1.一对一:TCP Connection,TCP Sever 只能接受一个连接,数据双向流动
2.请求回应:一个服务端对应多个客户端,每个请求服务端都会给一个回
应,相当于 1 对 N 的方式。
3.发布订阅模型:发布端单向分发数据,且不关心是否把全部信息发送给订
阅端,天气预报、微博明星粉丝可以应用这种经典模型。
4.推拉模型:Server 端为 push 端,Client 端为 pull 端,如果有多个
Client 端同时连接到 Server 端,则 Server 端会在内部做一个负载均衡,采用平
均分配的算法,均衡推送,改模型主要用于多任务并行。
ZeroMQ 通信协议:提供进程内、进程间、机器间、广播等四种通信协议,支
持的具体协议类型有:inproc、ipc、tcp、pgm。
用类似于 URL 形式的字符串指定即可,格式分别为 inproc://、ipc://、
您可能关注的文档
最近下载
- 人教版(2025) 必修第一册 Unit 2 Travelling Around Reading and Thinking课文解析&逐句翻译课件(共17张PPT))(含音频+视频).pptx VIP
- 制造业采购付款制度及流程设计.docx VIP
- 继承优良传统弘扬中国精神 (第二版).pptx VIP
- 含硅废渣综合利用项目环评(新版环评)环境影响报告表.doc
- 【课件】海陆的变迁+课件+第一学期人教版初中地理七年级上册.pptx VIP
- 中国精神的PPT课件.pptx VIP
- 《进出口贸易实务》课件.pptx VIP
- 说课课件进出口贸易实务.pptx VIP
- 水文气象观测网数据集-黑河计划数据管理中心.pdf
- 进出口贸易实务手册.pptx VIP
文档评论(0)