Title: Introducing Pilgrimage: A Rust-based Message Broker

103 points Pure_Possession_9292 11 comments

Hey r/rustaceans,

I'm excited to share a project I've been working on called Pilgrimage. It's a message broker written in Rust that comes with a web-based management console and client authentication. Here are some of the key features:

Key Features:

  • Topic-based pub/sub model
  • Scalability through partitioning
  • Persistent messages (log file based)
  • Leader/Follower Replication
  • Fault Detection and Automatic Recovery
  • Delivery guaranteed by acknowledgement (ACK)
  • Fully implemented leader selection mechanism
  • Partition Replication
  • Persistent messages
  • Schema Registry for managing message schemas and ensuring compatibility
  • Automatic Scaling
  • Broker Clustering
  • Message processing in parallel
  • Authentication and Authorization Mechanisms
  • Data Encryption
  • CLI based console
  • WEB based console

It's not yet a beautiful implementation, and it needs to be refactored, but it's working. We have implemented the core functions without using external crates as much as possible, and we would like to continue to reduce our dependencies in the future.

I'm all ears for advice and issues!

Github: https://github.com/mila411/pilgrimage