一,什么是zeromq

这是个类似于Socket的一系列接口,他跟Socket的区别是:普通的socket是端到端的(1:1的关系),而ZMQ却是可以N:M 的关系,人们对BSD套接字的了解较多的是点对点的连接,点对点连接需要显式地建立连接、销毁连接、选择协议(TCP/UDP)和处理错误等,而ZMQ屏蔽了这些细节,让你的网络编程更为简单。ZMQ用于node与node间的通信,node可以是主机或者是进程。

引用官方的说法: “ZMQ(以下ZeroMQ简称ZMQ)是一个简单好用的传输层,像框架一样的一个socket library,他使得Socket编程更加简单、简洁和性能更高。是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩。ZMQ的明确目标是“成为标准网络协议栈的一部分,之后进入Linux内核”。现在还未看到它们的成功。但是,它无疑是极具前景的、并且是人们更加需要的“传统”BSD套接字之上的一 层封装。ZMQ让编写高性能网络应用程序极为简单和有趣。”

二,主流消息队列对比

以下图片来源于网络:

主流消息队列对比

上图表示每秒钟接收和发送的消息数,从上图可以,zeromq是最快,根他的消息队列不是一个级别的。不知道这么稳定性怎么样。我所了解到的,rabbitmq具有企业级的稳定性,选择什么样的消息队列,根据场景和个人喜欢来决定吧。

三,安装zeromq
1,管理工具安装
[root@localhost workspace]# yum search zeromq

czmq.x86_64 : High-level C binding for 0MQ (ZeroMQ)
php-zmq.x86_64 : ZeroMQ messaging
python-txzmq.noarch : Twisted bindings for ZeroMQ
zeromq-devel.i686 : Development files for zeromq
zeromq-devel.x86_64 : Development files for zeromq
zeromq3-devel.i686 : Development files for zeromq3
zeromq3-devel.x86_64 : Development files for zeromq3
czmq.i686 : High-level C binding for 0MQ (ZeroMQ)
fedmsg.noarch : Tools for Fedora Infrastructure real-time messaging
moksha.noarch : A platform for creating real-time web applications
python-askbot-fedmsg.noarch : Askbot plugin for emitting events to the Fedora message bus
zeromq.i686 : Software library for fast, message-based applications
zeromq.x86_64 : Software library for fast, message-based applications
zeromq3.i686 : Software library for fast, message-based applications
zeromq3.x86_64 : Software library for fast, message-based applications

选择要安装的版本就行了。

[root@localhost workspace]# yum install zeromq3 php-zmq 

很容易吧,zeromq和zeromq的php扩展就安装好了。

2,手动安装zeromq

下载地址:

//download.zeromq.org/

//github.com/mkoppanen/php-zmq

安装zeromq

tar zxvf zeromq-4.0.4.tar.gz  
cd zeromq-4.0.4  
./configure --prefix=/usr/local/zeromq  
make && make install
安装php扩展
    unzip php-zmq-master.zip  
    cd php-zmq-master  
    /usr/local/php/bin/phpize  
    ./configure --with-php-config=/usr/local/php/bin/php-config  
    make && make install  

修改php.ini,加入extension=zmq.so,重启php,搞定。对了php-zmq-master/examples目录下有例子,可以看一下哦。

手动安装的最大优点就是可以装最新的版本,而管理工具受制于源,但是最新的不一定就是最稳定的。根所需要选择吧。

原文来自:

本文地址://lrxjmw.cn/centos-zeromq.html编辑:public,审核员:逄增宝

Linux大全:

Linux系统大全:

红帽认证RHCE考试心得: