Niektóre wzorce są proste do użycia, ale mogą znacznie poprawić jakość naszego kodziku. Takim właśnie wzorcem jest Value Object.
Outbox Pattern
Jeśli w ramach jednego procesu komunikujesz się z dwoma niezależnymi narzędziami, np. bazą danych i brokerem wiadomości, to zawsze jest ryzyko, że jedno z tych narzędzi jest niedostępne. Jak więc zwiększyć szanse na powodzenie takiego procesu? W tym może nam pomóc Outbox Pattern!
Saga Pattern
Rozproszone transakcje są jednym z największych wyzwań w architekturze mikroserwisów. Gdy mamy do czynienia z jednym procesem rozproszonym jako kilka transakcji na różnych bazach danych, to już nie jest to samo, co transakcja na jednej bazie danych, gdzie zawsze możemy zrobić rollback. Jak więc podejść do takiej rozproszonej transakcji? Jak sobie poradzić, jeśli coś się wysypie w procesie, który działa na wielu bazach?