Effective Microservice Communication and Conversation Patterns
Orchestration or Choreography? Sagas or process manager? REST, RPC or Events? Are we just making this all up as we go along?
Once we move away from a single process to many services and processes, we immediately hit the problem that our services need to communicate with each other. The architect mandated REST! But then nothing worked in production. Then came events! And nothing ever completed.
In this talk we'll look at the problem from a holistic perspective - take the fundamental property of autonomy for any microservice-based architecture, and design how services should communicate so that they can still achieve their purpose in the world.
We'll cover basic communication patterns, where we run into problems with them, and how advanced conversational patterns can help. Finally, we'll look at some real-world scenarios for designing complex coordination and where conversation patterns can retain our autonomy and loose coupling.