Baza danych na serwis (database per service)
Każdy serwis jest właścicielem swoich danych i żaden inny nie czyta jego tabel bezpośrednio; pozostałe korzystają z jego API albo zdarzeń.
Wspólna baza wiąże serwisy mocniej niż jakiekolwiek API: jedna zmiana schematu psuje trzy zespoły. Z bazą na serwis każdy zespół może swobodnie zmieniać swój schemat. Cena to brak złączeń między serwisami: raport potrzebuje modelu odczytu budowanego ze zdarzeń (CQRS), a zmiana w kilku serwisach naraz potrzebuje sagi.
Powiązane hasła
- Mikroserwisy (microservices): Architektura, w której system składa się z małych, osobno wdrażanych serwisów; każdy ma własne dane i rozmawia z innymi przez sieć.
- Wzorzec saga: Proces biznesowy w kilku serwisach prowadzony jako łańcuch lokalnych transakcji, z akcją kompensującą, która cofa krok, gdy padnie któryś z kolejnych.
- CQRS (rozdzielenie zapisu i odczytu): Podział systemu na stronę zapisu, która zmienia dane, i osobną stronę odczytu ułożoną pod zapytania, synchronizowane zdarzeniami.
