ronlobo / rustic-dendrite

A Rust library to connect to AxonServer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Rustic Dendrite

A Rust library to connect to AxonServer.

See the GitHub project dendrite2go/archetype-rust-axon for an example of how to use this code.

Core concepts

More information

The project rustic-dendrite-macros provides macros that makes working with the dendrite crate more ergonomic.

This project is a sibling of dendrite2go and archetype-go-axon, but for the Rust programming language.

Status

This project has now reached the level of Minimal Viable Deliverable in the sense that the first phase is completed: the current application communicates with AxonServer properly. Like archetype-go-axon it can do the following:

  1. ☑ Set up a session with AxonServer
    • ☑ Enable React app to call a RPC endpoint on the example-command-api service through grpc-web
  2. ☑ Issue commands
  3. ☑ Register a command handler and handle commands
  4. ☑ Submit events
    • ☑ Stream events to UI
  5. ☑ Retrieve the events for an aggregate and build a projection
    • ☑ Validate commands against the projection
  6. ☑ Register a tracking event processor and handle events
  7. ☑ Store records in a query model: Elastic Search
    • ☑ Store tracking token in Elastic Search
  8. ☑ Register a query handler and handle queries
    • ☑ Show query results in UI

As well as:

  • In-memory caching of aggregate projections

Now it would be nice to:

  • Add support for storing snapshots of aggregate projections in AxonServer.
  • Add support for segmentation to distribute the load on tracking event processors.
  • Add support for sagas.
  • ...

About

A Rust library to connect to AxonServer

License:MIT License


Languages

Language:Rust 97.6%Language:Shell 2.3%Language:Dockerfile 0.1%