Scalability and high availability
Event-driven architectures are architectures where events play a central role. These kinds of architectures have certain advantages, like being able to scale easily and providing resilience. There are also some downsides to such architectures. For example, individual services may be hard to test in isolation. Another point of attention is concurrency control. I’ll explain concurrency control and offer two generic solutions to implement it. To make things more concrete, I’ll also cover two example architectures. There are some examples from different domains. The example architectures are from the retailer domain.
- Event-driven architectures.
- Events and their source.
- Using a database to synchronize between applications.
- Using the single and dual writer principle.
- Services use Kafka vs Axon Server