A real-time event-oriented data-hub, inspired by the data hub. It is:
- Universal: the front end uses gRPC to provide services.
- Fast: benchmarked 15000s of writes/s per instance and 20000s of reads/s.
- Reliable: high-performance memory storage engine and persistent back-end data warehouse.
- Secure: optional SSL client cert authentication.
Event-driven computing system architecture has become the main governance solution and technology evolution direction of various cloud vendors and cloud-native technology systems. To this end we initiated the
Redcar project, focusing on:
- Event cast, including multiple modes such as unicast, multicast, multicast and broadcast.
- Exchange, provide routing capabilities between producers and consumers through the
- Persistence, the ability to record and monitor the entire life cycle of events.
- Replay, provides the ability to repeat historical events based on the persistent storage of events.
The vision is to explore and improve cloud event standards together with cloud native. Our goal is to achieve an event-hub.
The latest release and setup instructions are available at GitHub.
You can build redcar from source:
$ git clone https://github.com/redcar-io/redcar/ $ cd redcar $ ./make $ ./make install
This will generate a binary called
NOTE: you need rust 1.55+. Please check your installation with
$ rustc --version
First start a redcar machine:
$ ./bin/redcar -a 127.0.0.1:8519 -o stdout
Next, let's set a single key, and then retrieve it:
$ ./bin/redcar-ctl -e http://127.0.0.1:8519 "foo bar" put $ ./bin/redcar-ctl -e http://127.0.0.1:8519 "foo" range
These are the clients for Redcar:
If you want to try the Go client, see Go Client.
Feel free to dive in! Open an issue or submit PRs.
Redcar follows the Contributor Covenant Code of Conduct.