Integrating microservices and taming distributed systems is hard. In this talk Bernd Rucker will present three challenges he has observed in real-life projects and discuss 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, systems 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.
Bernd will not only use slides but also demonstrate concrete source code examples available on GitHub.
Bernd Rucker is the co-founder and developer advocate of Camunda, an open source software company reinventing workflow automation. He has helped automate highly scalable core workflows at global companies including T-Mobile, Lufthansa and Zalando. He has contributed to various open source workflow engines and co-authored "Real-Life BPMN," a popular book about workflow modeling and automation, now in its fifth edition and available in English, German and Spanish. He regularly speaks at conferences and writes for various magazines. Bernd 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.