zeromq 学习和python实战

Posted SailorXiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zeromq 学习和python实战相关的知识,希望对你有一定的参考价值。

参考文档:

 

原理解读

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实战的主要内容,如果未能解决你的问题,请参考以下文章

zeromq 和 python:没有睡眠命令不发送

Metatrader 5绑定ZeroMQ / Python

Python GUI 未捕获 zeromq 消息

python 机器学习有用的代码片段

zeromq学习记录联系代码学习ZMQ_ROUTER ZMQ_READLER

zeromq学习记录vc下多线程