Integrating microservices and taming distributed systems is hard. In this talk, Bernd Rucker will present three challenges he's 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.
Bio: Bernd Rucker has 15+ years in software development, helping automate highly scalable core workflows at global companies including T-Mobile, Lufthansa and Zalando. He is a 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, now in its fifth edition and available in English, German and Spanish. 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.