首页 > 代码库 > zeromq 学习和python实战

zeromq 学习和python实战

参考文档:

  • 官网 http://zeromq.org/
  • http://www.cnblogs.com/rainbowzc/p/3357594.html
 

原理解读

zeromq只是一层针对socket的封装,介于传输层和应用层之间,并不是单独的服务或者程序,仅仅是一套组件。 
zeromq使用c语言编写,相应速度非常快。

主要有以下几个部分:

- 主线程:负责相应用户的请求,比如创建zmq等- IO线程:主要负责网络IO的调度,每个IO线程会对应一个异步poll(如select,epoll等),使用reactor模式
 

消息模型

有四种消息模型:

- 一对一: 最简单的1:1消息通信模型,Server只能接受一个连接,数据可以双向流动- 请求回应:由请求端发起请求,然后等待回应端应答,一个回应端可以有多个请求端。一般请求端到回应端是单向的,类似RPC调用,只能请求端主动发起请求。- 发布订阅模型:发布端单向发布数据,并不关系是否把信息发给订阅端。如果订阅端未连接,或者处理性能不足,消息可能被丢弃- 推拉模型:server作为发布端,client作为pull端。多个client连接server时,server会做负载均衡
 

python实战

 

安装

从官网:http://zeromq.org/intro:get-the-software 上获取最新的包

zeromq 学习和python实战