vnpy/vn.rpc
2016-12-21 23:30:19 +08:00
..
README.md 增加vn.rpc模块的说明 2016-10-29 22:55:00 +08:00
testClient.py 修改vnrpc中的函数名称 2016-12-20 23:55:09 +08:00
testServer.py
vnrpc.py vn.rpc中的zmq socket接收数据前,使用poll等待 2016-12-21 23:30:19 +08:00

vn.rpc

简介

提供跨进程服务调用的RPC模块同时支持服务端向客户端的主动数据推送用于实现vn.py框架下模块的多进程解耦。

说明

  1. 使用zmq作为底层通讯库

  2. 目前支持两种数据序列化方案msgpack默认和json用户在RpcObject中可以自行添加其他方案

  3. 客户端和服务端通过REQ-REP模式实现跨进程服务调用

  4. 客户端和服务端通过SUB-PUB模式实现主动数据推送

  5. RpcClient的send和RpcServer的publish函数不是多线程安全的在多线程中使用时需要用户自行加锁否则可能导致zmq底层崩溃

  6. 考虑到vn.rpc的主要应用场景是本机多进程或者局域网内分布式架构网络可靠性较高因此没有在模块中提供心跳功能用户可以视乎自己的需求添加