/msg-rs

Messaging library for distributed systems built in Rust

Primary LanguageRustMIT LicenseMIT

MSG-RS

A flexible and lightweight messaging library for distributed systems built with Rust and Tokio.

CI License Book Discord

Overview

msg-rs is a messaging library that was inspired by projects like ZeroMQ and Nanomsg. It was built because we needed a Rust-native messaging library like those above.

Documentation

The 📖 MSG-RS Book contains detailed information on how to use the library.

Features

  • Multiple socket types
    • Request/Reply
    • Publish/Subscribe
  • Pluggable transport layers
    • TCP
    • QUIC
    • IPC
  • Useful stats: latency, throughput, packet drops
  • Durable IO abstraction (built-in retries and reconnections)
  • Custom wire protocol with support for authentication and compression
  • Network simulation mode with dummynet & pfctl
  • Extensive benchmarks
  • Integration tests

MSRV

The minimum supported Rust version is 1.70.

Contributions & Bug Reports

If you are interested in contributing or have found a bug, please check out the contributing guide. Please report any bugs or doubts you encounter by opening a Github issue.

Additionally, you can reach out to us on Discord if you have any questions or just want to chat.

License

This project is licensed under the Open Source MIT license.

Disclaimer

This software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.