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