Die Erwartungen an Microservices sind groß: Sie sollen nicht nur die Entwicklung beschleunigen, sondern auch höchste Qualitätsanforderungen erfüllen. Wo monolithische Enterprise-Systeme unter Last ächzen, versprechen sie Stabilität und Skalierbarkeit. In der Umsetzung bleibt dies mitunter auf der Strecke. Es werden Systeme gebaut, in denen jeder Service auf alle anderen Services angewiesen ist, oder deren Durchsatz durch ineffiziente Kommunikation begrenzt wird. Event-basierte Architekturmuster können das Versprechen der resilienten, skalierbaren Systeme einlösen.
Der Events-First-Ansatz betrifft nicht nur die Kommunikation zwischen Services, sondern auch, wie wir mit (globalem) Zustand umgehen. Ein solches System zu entwerfen ist eine Herausforderung für Softwarearchitektinnen und -architekten. Aus der Domain-driven-Design-Community kommt die Technik des Event Stormings. Sie hilft uns, den Fokus zunächst weniger auf die statischen Eigenschaften der Domäne wie dem Datenmodell zu legen.
Der Vortrag zeigt, wie eine eventbasierte Architektur zu besseren Microservices führt, und wo wir dafür in der Architektur umdenken müssen.
Vortrag von der W-JAX 2018, München, am 7.11.2018