With CRDTs, it becomes much easier to perform concurrent updates in a distributed system and decouples each replica from each other, since state can always merge to reach the same state.
This Rust crate has good documentation with more explanation (even if you don’t use Rust): https://crates.io/crates/crdts
Take a look, should be clear how they fit in to a distributed event based system w microservices.
With CRDTs, it becomes much easier to perform concurrent updates in a distributed system and decouples each replica from each other, since state can always merge to reach the same state.
This Rust crate has good documentation with more explanation (even if you don’t use Rust): https://crates.io/crates/crdts
Take a look, should be clear how they fit in to a distributed event based system w microservices.