# 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的主要应用场景是本机多进程或者局域网内分布式架构,网络可靠性较高,因此没有在模块中提供心跳功能,用户可以视乎自己的需求添加