19 个版本
0.4.10 | 2024年4月27日 |
---|---|
0.4.9 | 2024年2月9日 |
0.4.8 | 2023年12月10日 |
0.4.7 | 2023年9月14日 |
0.3.6 | 2022年11月6日 |
#435 in 网络编程
148 次每月下载
用于 8 个Crates(7个直接使用)
270KB
7K SLoC
BUS/RT - Rust 原生 IPC 代理
什么是 BUS/RT
BUS/RT® 是一个 Rust 原生 IPC 代理,用 Rust/Tokio 编写,灵感来自 NATS、ZeroMQ 和 Nanomsg。BUS/RT 快速、灵活且易于使用。
该库可以嵌入任何 Rust 项目或作为独立服务器使用。
BUS/RT 是 EVA ICS v4 的核心总线。
进程间通信
以下通信模式是开箱即用的
- 一对一消息
- 一对多消息
- 发布/订阅
以下通道是支持的
- 线程/未来的异步通道(仅限 Rust)
- UNIX 套接字(本地机器,Linux/BSD)
- TCP 套接字(Linux/BSD/Windows)
除了 Rust,BUS/RT 还为以下语言提供了绑定
- Python(同步):https://pypi.ac.cn/project/busrt/
- Python(异步):https://pypi.ac.cn/project/busrt-async/
- JavaScript(Node.js):https://npmjs.net.cn/package/busrt
- Dart https://github.com/AndreiLosev/busrt_client
Rust crate:https://crates.io/crates/busrt
技术文档
完整文档可在以下地址找到: https://info.bma.ai/en/actual/busrt/
一些数字
基准测试
CPU: i7-7700HQ
代理:4 个工作者,客户端:8 个,有效载荷大小:100 字节,本地 IPC(单个 UNIX 套接字),总计
阶段 | iters/s |
---|---|
rpc.call | 126_824 |
rpc.call+handle | 64_694 |
rpc.call0 | 178_505 |
send+recv.qos.no | 1_667_131 |
send+recv.qos.processed | 147_812 |
send.qos.no | 2_748_870 |
send.qos.processed | 183_795 |
关于作者
波希米亚自动化 / Altertech 是一家拥有15年以上企业自动化和工业物联网经验的集团。我们的系统包括发电厂、工厂和城市基础设施。其中最大的系统拥有超过100万传感器和受控设备,并且这个数字每天都在不断提高。
依赖关系
~6–24MB
~373K SLoC