Abstract:
Developing microservice applications based on the database-per-service pattern is challenging because you need to ensure the transactional consistency of multiple, possibly diverse, databases of microservices. Saga and TCC are widely used to address the challenge, but these approaches require the applications to ensure isolation, forcing the application developers to implement complex recovery mechanisms. Another way is using a two-phase commit (2PC). However, 2PC is often discussed as an anti-pattern in microservice architecture since it is considered limited in scalability and availability. In this session, we revisit the benefits of microservice architecture and rethink the advantages and disadvantages of the existing approaches for transaction management. We also introduce a solution that achieves effortless transaction management in microservices without losing the most benefits.
Speakers:
Hiroyuki Yamada, Toshihiro Suzuki