Agregat (DDD)
Grupa obiektów zmienianych jako całość, z jednym korzeniem, który pilnuje reguł biznesowych i wyznacza granicę jednej transakcji.
Zamówienie z pozycjami to agregat: pozycje zmieniasz tylko przez zamówienie, a zamówienie pilnuje, żeby suma mieściła się w limicie kredytowym. Jedna transakcja zmienia jeden agregat; inne agregaty wskazuje się po id i aktualizuje zdarzeniami. Za duże agregaty powodują walkę o blokady; za małe sprawiają, że reguły wyciekają do serwisów.
Powiązane hasła
- DDD (domain-driven design): Projektowanie oprogramowania wokół języka i reguł samego biznesu, z kodem podzielonym tam, gdzie ten język zmienia znaczenie.
- Wzorzec outbox (transactional outbox): Zapisanie zdarzenia w tabeli outbox w tej samej transakcji bazy co sama zmiana, a potem osobne opublikowanie go w brokerze.
- Kolejność wiadomości (message ordering): To, czy kolejka dostarcza wiadomości w kolejności wysłania; zwykle gwarantowane tylko w obrębie klucza albo partycji, o ile w ogóle.
