您的位置:首页 > 其它

Ubuntu中安装ZMQ以及pyzmq

2015-10-17 09:58 351 查看

一、ZMQ(ZeroMQ)简介

ZMQ是一个开源的、跨语言的、非常简洁的、非常高性能、非常灵活的网络通讯库。相比原始的 socket API,ZMQ 封装掉了很多东西,免去了开发人员的很多麻烦。

  比如,传统的 TCP 是基于字节流进行收发,因此程序猿常常要自己去处理数据块与数据块之间的边界(断界处理);与之相对,ZMQ 是以消息为单位进行收发,它确保你每次发出/收到的,都是一个消息块。这样一来,就省却了不少代码量。

  比如,基于 socket API 进行 TCP 通讯,你需要自己处理很多网络异常(比如连接异常中断以及重连),即使有经验的程序员,也未必能写得严密。而在 ZMQ 中,这些琐事统统不用程序猿操心。

  再比如,用传统的 socket API,当你想提高通讯性能,往往要搞些异步(非阻塞)、缓冲区、多线程之类的把戏。而这些东西,ZMQ 也帮你封装掉了。

  总而言之,ZMQ 对很多底层细节的封装,让你的网络程序代码变得简单,写起来又快又轻松。

  高性能

  说到性能,这可是 ZMQ 吹嘘的主要亮点。首先,ZMQ 是用 C/C++ 开发的(C/C++ 的性能,那可是公认滴);其次,ZMQ 本身的协议格式定义得很简洁(相对来说,JMS 规范中的协议格式就复杂多了)。所以,它的性能远远高于其它的消息队列软件。甚至可以说,用 ZMQ 的性能,跟用传统 socket API 的性能,是不相上下滴。

  为了让大伙儿有一个感性的认识,俺特地找来了消息队列软件的性能测评。这是某老外写的一篇帖子(在”这里”),不懂洋文的同学可以看”这里”。连帖子都懒得看的同学,可以直接看下图。

  简单

  API接口少,简单

二、安装ZMQ

依赖包安装:

sudo apt-get install autoconf automake uuid-dev

sudo apt-get install python-dev

a.zmq安装包下载

http://zeromq.org/intro:get-the-software

下载POSIX tarball,得到zeromq-2.1.7.tar.gz

b.解压

tar -xvf zeromq-2.1.7.tar.gz

解压后得到zeromq-2.1.7文件夹

c.安装

cd zeromq-2.1.7

将看到configure

sudo ./configure

ls

将看到MakeFile

sudo make

sudo make install

sudo ldconfig

三、安装pyzmq

利用pip安装,若没有请安装pip

sudo apt-get install python-pip

安装pyzmq

sudo pip install pyzmq

测试安装成功

python

import pyzmq

未root用户请使用sudo获取权限,否则权限不够,安装过程无法正常进行。

参考:

https://github.com/imatix/zguide/tree/master/examples/Python

http://www.2cto.com/kf/201504/388378.html

https://github.com/UtopiaHXM/pyzmq/blob/master/examples/eventloop/asyncweb.py
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: