Logo David Burdelak
Słownik · Programowanie i wzorce projektowe

Co to jest publish-subscribe?

Ostatnia aktualizacja:

Publish-subscribe (pub/sub) to wzorzec komunikacji, w którym nadawcy (publisherzy) wysyłają wiadomości do kanału lub tematu, a odbiorcy (subskrybenci) odbierają tylko te tematy, którymi są zainteresowani. Nadawca i odbiorca nie znają się i mogą działać niezależnie.

Czym różni się od Obserwatora?

W wzorcu Obserwator podmiot zna swoich obserwatorów i bezpośrednio ich wywołuje. W pub/sub pomiędzy stronami stoi pośrednik, zwany brokerem lub magistralą zdarzeń, który rozsyła wiadomości. Pozwala to rozdzielić nadawców i odbiorców także w sieci, procesach i czasie.

Gdzie się go używa?

W systemach kolejek i brokerów wiadomości, takich jak RabbitMQ, Kafka i Redis Pub/Sub, w komunikacji mikroserwisów, powiadomieniach w czasie rzeczywistym z użyciem WebSocketów oraz w magistralach zdarzeń wewnątrz frameworków.

Zalety i ryzyka

Luźne powiązanie ułatwia rozbudowę i skalowanie. Trudniejsze staje się śledzenie przepływu wiadomości, zapewnienie kolejności i obsługa utraty komunikatów, co wymaga monitoringu i przemyślanych potwierdzeń.

Powiązane pojęcia

Wszystkie hasła z kategorii Programowanie i wzorce projektowe