In the previous section, we explained how to implement a reliable high-performance event-sourcing architecture. It solves the reliability issue, but it has two limitations.
When a digital wallet is updated, we want to receive the updated result immediately. But in the CQRS design, the request/response flow can be slow. This is because a client doesn’t know exactly when a digital wallet is updated and the client may need to rely on periodic polling.
The capacity of a single Raft group is limited. At a certain scale, we need to share the data and implement distributed transactions.
Let’s take a look at how those two problems are solved.
https://bytebytego.com/courses/system-design-interview/digital-wallet