一、ZeroMQ介绍

ZeroMQ是一个开源的消息队列系统,按照官方的定义,它是一个消息通信库,帮助开发者设计分布式和并行的应用程序。

首先,我们需要明白,ZeroMQ不是传统的消息队列系统(比如ActiveMQ、WebSphereMQ、RabbitMQ等)。ZeroMQ可以帮助我们建立自己的消息队列系统,它只是一个库。
ZeroMQ可以运行于带x86处理器或ARM处理器的机器上,支持40多种编程语言。

消息队列,从技术的角度来讲,是以先进先出FIFO算法为基础的队列技术,它有着良好的数据结构。除此以外,还有优先级队列、双端队列等队列技术。不管怎么样,其基本思想是把数据添加到队列中,接收端准备好以后,从队列中取回数据。
采用消息队列技术可以保证无论发生了什么,消息都会被交付到目的地。
消息队列允许松耦合的组件之间进行异步通信,还提供了坚实的队列一致性。如果资源不足,会阻止你立即处理发送的数据,你可以把消息放入消息队列服务器,由消息队列服务器来存储数据,直到目的地准备好接收消息。
消息队列在大规模分布式系统和异步通信中扮演着重要的角色。

二、ZeroMQ特征

1)ZeroMQ很简单

我们可以做异步I/O操作,ZeroMQ可以在一个I/O线程中把消息队列化。ZeroMQ的I/O线程是异步的,当处理网络交通时,它可以帮助我们完成很多剩余的工作。
2)ZeroMQ相当快
Second Life网站有13.4毫秒的端到端延时和高达每秒410万条消息的处理量。ZeroMQ能使用广播传输协议——它是把数据传输到多个目的地的好方法。
3)无代理设计
与其它传统的消息队列系统不同,ZeroMQ是无代理式的。传统的消息队列系统,通常都有中央消息服务器(Broker),每个节点都连接到这个中央节点,每个节点都通过中央节点与其它节点通信,而不是节点间彼此直接通信。
而ZeroMQ是无代理式的,应用程序彼此可以直接通信,无需通过中间代理Broker。
注意:ZeroMQ不会在磁盘上存储消息。但是,可以通过使用本地交换文件的方式存储消息。设置zmq.SWAP。

三、准备条件

OS:CentOS 6.5 x64

ZeroMQ:4.0.4版

四、安装ZeroMQ

1)下载ZeroMQ

执行命令:

[ruby] view plaincopyprint?
  1. $ wget http://download.zeromq.org/zeromq-4.0.4.tar.gz

2)解压ZeroMQ

[ruby] view plaincopyprint?
  1. $ tar zvxf zeromq-4.0.4.tar.gz
  2. $ mv zeromq-4.0.4 zeromq
  3. $ cd zeromq

3)编译安装

[ruby] view plaincopyprint?
  1. $ ./configure
  2. ......
  3. checking for gcc... no
  4. checking for cc... no
  5. checking for cl.exe... no
  6. configure: error: in `/home/chuser/zeromq':
  7. configure: error: no acceptable C compiler found in $PATH
  8. See `config.log' for more details

提示缺少C编译器,先安装GCC。

[ruby] view plaincopyprint?
  1. $ sudo yum install gcc

安装OK!再次执行

[ruby] view plaincopyprint?
  1. $ ./configure
  2. ......
  3. checking whether the C++ compiler works... no
  4. configure: error: Unable to find a working C++ compiler

提示缺少C++编译器,先安装G++。

[ruby] view plaincopyprint?
  1. $ sudo yum install gcc-c++

安装OK!再次执行

[ruby] view plaincopyprint?
  1. $ ./configure
  2. $ make
  3. $ sudo make install

ZeroMQ安装成功!

消息通信库ZeroMQ 4.0.4安装指南相关推荐

  1. ZeroMQ:云时代极速消息通信库

    ZeroMQ:云时代极速消息通信库(大规模|可扩展|低成本|高效率解决之道,大规模分布式|多线程应用程序|消息传递架构构建利器) [美]Pieter Hintjens(皮特.亨特金斯)著   卢涛 李 ...

  2. Android消息通信之无所不能的第三方开源项目EventBus

     Android消息通信之无所不能的第三方开源项目EventBus 在Android开发中,消息通信在开发过程中是比较重要但比较略微繁琐的过程,比如,Activity与Fragment之间的消息通 ...

  3. 基于Java的RDMA高性能通信库(五):JXIO

    JXIO 是 Mellanox 公司的RDMA中间件accelio在Java上的包装,JXIO使用类似于Java nio的ServerChannel方式,熟悉接口可以做好变换.AcceliO是针对硬件 ...

  4. 基于Java的RDMA高性能通信库(一):IBM jVerbs库

    目录 1. verbs API 2. endpoint API 3. jVerbs 应用程序系统和运行时需求(仅限 Linux) 4. Java Socket Over RDMA 与 jVerbs 比 ...

  5. 基于Java的RDMA高性能通信库(二):Java Socket Over RDMA

    目录 1.Comparing JSOR with Java TCP communications 2.Comparing JSOR to Java Sockets Direct Protocol (S ...

  6. python 消息机制_Python并发编程之线程消息通信机制任务协调(四)

    . 前言 前面我已经向大家介绍了,如何使用创建线程,启动线程.相信大家都会有这样一个想法,线程无非就是创建一下,然后再start()下,实在是太简单了. 可是要知道,在真实的项目中,实际场景可要我们举 ...

  7. c语言mc协议,easymc - C语言开发的简易消息通道库

    easymc是一个C语言开发的简易的消息通道库,目前提供请求/回应.订阅/发布两种通信模式,同机器的通信采取IPC方式,跨机的通信采取TCP方式,源码包含开源项目jemalloc库. 代码地址:htt ...

  8. python线程通信 消息传递_Python并发编程之线程消息通信机制/任务协调(四)

    大家好,并发编程进入第四篇. 本文目录 前言 Event事件 Condition Queue队列 总结 .前言 前面我已经向大家介绍了,如何使用创建线程,启动线程.相信大家都会有这样一个想法,线程无非 ...

  9. 转载:SRT传输库评估报告(V1.0.0)

    原文地址:https://blog.csdn.net/mediapro/article/details/105790057,感谢大神: SRT传输库评估报告(V1.0.0) www.mediapro. ...

最新文章

  1. 深度去雨--Deep Joint Rain Detection and Removal from a Single Image
  2. OpenCV实现图像颜色特征提取
  3. Android周学习Step By Step(9)--Intent之广播(完)
  4. 文本框 清空_VBA代码中利用文本框,完成人机对话过程
  5. Collection集合中的 contains 和 remove 使用深入——为什么要重写equals() ?
  6. VTK:Utilities之LUTUtilities
  7. 实战 | Element UI 父子组件传值与事件绑定(正向)
  8. [T-ARA][놀아볼래?][要玩吗]
  9. mgr未同步 mysql_MySQL MGR--数据同步原理
  10. samba配置问题一则及配置详解
  11. android 技术点记录
  12. AutoCAD2012从入门到精通中文视频教程 第13课 正多边形(个人收藏)
  13. 如何修复win7蓝牙服务器,快速解决win7系统蓝牙驱动的修复方法
  14. 【历史上的今天】5 月 10 日:淘宝网上线;机器感知之父出生;英国首批计算机投入运行
  15. 微信服务通知消息找回_企业微信消息不提醒怎么办?怎么打开企业微信消息通知?...
  16. vcard怎么转excel vcf转excel神器教程
  17. 曾“须知少时凌云志,曾许人间第一流”,却10平米不到屋子像极了你小时候的“梦想”
  18. 奇迹mu服务器架设全教程
  19. raid卷的作用_raid是什么?为什么要用raid?有好什么好处?
  20. 员工试用期转正申请书(泸州老窖)

热门文章

  1. angular6继承类注意几点:
  2. 西南科技计算机在线自测,西南科技大学2017春季第一学期高等数学1在线自测答案...
  3. css3--文字效果
  4. svn备份遇到的问题
  5. 基于Web Services建立Asp与Asp.Net之间Session数据桥的应用研究
  6. Lucene系列:(9)搜索结果排序
  7. SAP MIGO的界面中Document Overview部分,可以不让一些单据在这里显示。
  8. cocos2d-xna在使用某些场景转换效果时的问题以及修复
  9. Apache2+PHP5不能加载Zend Optimizer的问题
  10. Scanner类的一个小例子