Czy ktoś może mi wyjaśnić, w jakich przypadkach powinienem rozważyć użycie AMQP, np. RabbitMQ? Jakie są zalety i wady?
Czy ktoś może mi wyjaśnić, w jakich przypadkach powinienem rozważyć użycie AMQP, np. RabbitMQ? Jakie są zalety i wady?
Odpowiedzi:
Wyobraź sobie, że masz usługę internetową, która może przyjmować wiele żądań na sekundę. Masz również system księgowy, który wykonuje wiele czynności, z których jedną jest przetwarzanie żądań pochodzących z usługi internetowej.
Jeśli umieścisz kolejkę między usługą internetową a systemem księgowym, będziesz w stanie:
Oczywiście możesz mieć bardziej złożone sytuacje, w których liczba Twoich aplikacji jest znacznie większa niż dwie i musisz zarządzać komunikacją między nimi.
Oprócz zapewnienia bufora między usługą sieci Web a inną usługą zaplecza, kolejki komunikatów mogą być używane w bardziej zaawansowanych scenariuszach. Rabbit MQ (i inne dojrzałe produkty kolejki wiadomości nazywane również MOM - oprogramowanie pośrednie zorientowane na wiadomości) można skonfigurować do kierowania i dystrybucji wiadomości zgodnie z różnymi regułami.
Na przykład technika routingu Pub-Sub pozwala jednemu źródłu na wysłanie wiadomości i otrzymanie jej przez wielu słuchaczy. Jest to powszechnie stosowane przez oprogramowanie do handlu akcjami, aby informować użytkowników na parkiecie.
Również ze względu na fakt, że większość MOM-ów ma sdk dla wielu języków i platform, można ich używać do integracji aplikacji napisanych na różnych platformach.
To tylko kilka scenariuszy włączonych przez MOM.