.. | ||
__init__.py | ||
README.md | ||
testClient.py | ||
testServer.py | ||
vnrpc.py |
vn.rpc
简介
提供跨进程服务调用的RPC模块,同时支持服务端向客户端的主动数据推送,用于实现vn.py框架下模块的多进程解耦。
说明
-
使用zmq作为底层通讯库
-
目前支持两种数据序列化方案:msgpack(默认)和json,用户在RpcObject中可以自行添加其他方案
-
客户端和服务端通过REQ-REP模式实现跨进程服务调用
-
客户端和服务端通过SUB-PUB模式实现主动数据推送
-
RpcClient的send和RpcServer的publish函数不是多线程安全的,在多线程中使用时需要用户自行加锁,否则可能导致zmq底层崩溃
-
考虑到vn.rpc的主要应用场景是本机多进程或者局域网内分布式架构,网络可靠性较高,因此没有在模块中提供心跳功能,用户可以视乎自己的需求添加