- Notifications
You must be signed in to change notification settings - Fork8
BUS/RT - Modern, fast, Rust-native IPC broker
License
alttch/busrt
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
BUS/RT® is a Rust-native IPC broker, written in Rust/Tokio, inspired byNATS,ZeroMQ andNanomsg. BUS/RT is fast, flexible and very easy to use,optimized for both high-load and ultra-low latency real-time scenarios.
The library can be embedded in any Rust project or be used as a standaloneserver.
BUS/RT is the core bus ofEVA ICS v4.
The following communication patterns are supported out-of-the-box:
- one-to-one messages
- one-to-many messages
- pub/sub
The following channels are supported:
- async channels between threads/futures (Rust only)
- UNIX sockets (local machine, Linux/BSD)
- TCP sockets (Linux/BSD/Windows)
In addition to Rust, BUS/RT has also bindings for the following languages:
- Python (sync):https://pypi.org/project/busrt/
- Python (async):https://pypi.org/project/busrt-async/
- JavaScript (Node.js):https://www.npmjs.com/package/busrt
- Darthttps://github.com/AndreiLosev/busrt_client
Rust crate:https://crates.io/crates/busrt
Usert
feature to use for internal mutexesparking_lot_rt
- aparking_lot
fork without spin-locks, which is real-time safe.
The full documentation is available at:https://info.bma.ai/en/actual/busrt/
CPU: i7-7700HQ
Broker: 4 workers, clients: 8, payload size: 100 bytes, local IPC (single unixsocket), totals:
stage | 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 |
Bohemia Automation /Altertech is a group of companies with 15+ yearsof experience in the enterprise automation and industrial IoT. Our setupsinclude power plants, factories and urban infrastructure. Largest of them have1M+ sensors and controlled devices and the bar raises higher and higher everyday.
About
BUS/RT - Modern, fast, Rust-native IPC broker