Rozhodli jsme se rozdělit monolit na mikroslužby. Přepsání od nuly? Ne — to je recepta na katastrofu. Strangler Fig pattern: postupná extrakce služeb z monolitu. Kus po kuse, bez big-bang migrace.
Strangler Fig Pattern¶
Jako fíkus, který obrůstá strom. Nové funkce implementujete jako mikroslužby. Existující funkce postupně extrahujete. Proxy (API Gateway) routuje requesty — starý kód nebo nová služba. Monolit se postupně zmenšuje.
API Composition¶
Klient potřebuje data z více služeb. API Composer (v gateway nebo dedicated service) volá služby paralelně a skládá odpověď. Pozor na latenci — N volání se sčítají. Cache a asynchronní volání pomáhají.
Saga Pattern¶
Distribuovaná transakce přes více služeb. Místo 2PC (two-phase commit) sékvence lokálních transakcí s kompenzačními akcemi. Objednávka: reserve inventory → charge payment → ship. Selhání: compensate (refund → release inventory).
Database per Service¶
Každá služba vlastní svá data. Žádné sdílené tabulky. Duplikace dat je OK — eventual consistency přes events. Největší mentální shift pro vývojáře zvyklé na jednu sdílenou databázi.
Patterns, ne framework¶
Mikroslužby nejsou o technologii — jsou o patterns. Strangler pro migraci, Saga pro transakce, CQRS pro čtení/zápis. Znalost patterns je důležitější než znalost konkrétního frameworku.
Brauchen Sie Hilfe bei der Implementierung?
Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.
Kontaktieren Sie uns