Concurrency Control in Event-Driven Architectures

10 min

Scalability and high availability

Event-driven architectures are architectures where events play a central role. These types of architectures have certain advantages, such as being able to scale easily and provide 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. In this whitepaper, we explain concurrency control and offer two generic solutions to implement it. Two example architectures will be covered from the retailer domain.

The whitepaper covers:

  • 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
Gerard Klijs
Software Engineer. With over 10 years of experience as a backend engineer, Gerard Klijs is a contributor to several GraphQL libraries, and also the creator and maintainer of a Rust library to use Confluent Schema Registry. He has an interest in event sourcing and CQRS and likes sharing knowledge via blogs, talks, and demo projects.
Gerard Klijs