3 common pitfalls in microservice integration and how to avoid them

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.
qzwuteoq
lqwuge
qwöiueg
Correction: distributed transactions CAN simply be delegated to protocols like XA:
https://www.atomikos.com/Blog/TransactionalRESTMicroservicesWithAtomikos
We built this based on popular demand of people who don’t want the complexities of Sagas or other DIY transaction models.