Komunikacja Fire & Forget
Request-Reply -> Message driven
Fire & Forget (One-Way) -> Event driven
Kolejka

Przykłady użycia
równoległe przetwarzanie
przetwarzanie w tle
bufor
Przykłady narzędzi
Amazon SQS
RabbitMQ (Direct Exchange)
Google PubSub (Topic z jedną subskrypcją)
Kafka (Topic z jedną grupą konsumentów)
Publish Subscribe

Przypadki użycia
notykacja
innych serwisów
urządzeń klienckich
Przykłady narzędzi
Amazon SNS
RabbitMQ (Fanout Exchange)
Google PubSub (Topic z wieloma subskrypcjami)
Kafka (Topic z wieloma konsumentami)

W przypadku wielu instancji, musimy wybrać lidera do publikacji.
Semantyka dostarczania wiadomości
at most once - najwyżej raz dojdzie, ale może nie dojść
Gdy chcemy mieć dużo danych
at least once - przynajmniej raz - outbox pattern
Może będą duplikaty, ale będzie to dostarczone
exactly once - system zachowuje się tak jakby wiadomość została dostarczona tylko raz
Mogą być jednak dostarczone wielokrotnie, ale potraktowane tak jakby były raz
Przetwarzanie wiadomości
deduplikacja - mogę sprawdzić po stronie klienta, czy wiadomość nie została już obsłużona
idempotentność - mogę przejąć wiadomości 2 razy i zachować się tak samo
Kolejność dostarczania wiadomości

Problem poison messages
po stronie producenta
zaprzestanie wysyłania
oznaczenie jako niepoprawne
po stronie konsumenta
dead letter queue
Last updated
Was this helpful?