Watch Bernd Rücker's JAX London 2018 session

3 common pitfalls in microservice integration and how to avoid them

JAXenter Editorial Team

If you are looking for ways to make your life easier when integrating microservices and taming distributed systems, Bernd Rücker has some very handy advice for you! Have a look at three common challenges observed in real-life projects and save yourself some trouble!

Integrating microservices and taming distributed systems is hard. In this talk, Bernd Rücker presents three challenges observed in real-life projects and discusses how to avoid them.

1. Communication is complex. With everything being distributed failures are normal so you need sophisticated failure handling strategies (e.g. stateful retry).

2. Asynchronicity requires you to handle timeouts. This is not only about milliseconds, but systems also get much more resilient when you can wait for minutes, hours or even longer.

3. Distributed transactions cannot simply be delegated to protocols like XA. So, you need to solve the requirement to retain consistency in case of failures.

Rücker not only uses slides but also demonstrates concrete source code examples available on GitHub.


Bernd Rücker, throughout his 15+ years in software development, Bernd Rücker has helped to automate highly scalable core workflows at global companies including T-Mobile, Lufthansa, and Zalando. He has contributed to various open source workflow engines. He is co-founder and developer advocate of Camunda, an open source software company reinventing workflow automation. He co-authored “Real-Life BPMN,” a popular book about workflow modeling and automation. Bernd Rücker regularly speaks at conferences and writes for various magazines. He is currently focused on new workflow automation paradigms that fit into modern architectures around distributed systems, microservices, domain-driven design, event-driven architecture, and reactive systems.



1 Comment
Inline Feedbacks
View all comments
Guy Pardon
Guy Pardon
3 years ago

Correction: distributed transactions CAN simply be delegated to protocols like XA:

We built this based on popular demand of people who don’t want the complexities of Sagas or other DIY transaction models.