W rabbitmq, kiedy producent tworzy wiadomość, która nie będzie bezpośrednio wysyłana do kolejki, zamiast tego najpierw wiadomość będzie wysłana do giełd, następnie agent routingu odczyta ją i wyśle do odpowiedniej kolejki z pomocą atrybutów nagłówka, wiązań i kluczy routingu.
RabbitMQ Typy wymiany
W rabbitmq, mamy cztery typy wymiany dostępne do routowania wiadomości na różne sposoby.
Poniżej wymienione są różne typy wymiany dostępne w rabbitmq.
- Direct
- Fanout
- Topic
- Headers
Wymiana bezpośrednia RabbitMQ
W rabbitmq, wymiana bezpośrednia dostarczy wiadomość do kolejek na podstawie klucza routingu wiadomości. W wymianie bezpośredniej, wiadomość jest kierowana do kolejek, których klucz wiążący dokładnie pasuje do klucza routingu wiadomości.
Poniżej znajduje się obrazowe przedstawienie przepływu wiadomości w wymianie bezpośredniej rabbit.
RabbitMQ Fanout Exchange
W rabbitmq, fanout exchange będzie kierował wiadomości do wszystkich kolejek, które są do niego przypisane.
Poniżej znajduje się obrazowa reprezentacja przepływu wiadomości w rabbitmq fanout exchange.
RabbitMQ Topic Exchange
W rabbitmq, topic exchange wykona wildcard match pomiędzy kluczem routingu i wzorcem routingu określonym w wiązaniu, aby opublikować wiadomości do kolejki.
Poniżej znajduje się obrazowa reprezentacja przepływu wiadomości w rabbitmq topic exchange.
Wymiana nagłówków RabbitMQ
W rabbitmq, wymiana nagłówków będzie używać atrybutów nagłówka wiadomości do routingu.
Poniżej znajduje się obrazowa reprezentacja przepływu wiadomości w wymianie nagłówków rabbitmq.
Teraz zobaczymy jak dodać wymiany w rabbitmq używając wtyczki zarządzania WWW.
RabbitMQ Create Exchange
Aby utworzyć nowe wymiany, najpierw otwórz portal zarządzania WWW rabbitmq, wprowadź domyślne poświadczenia do logowania, a następnie wybierz zakładkę Wymiany.
Po przejściu do zakładki Wymiany, zobaczysz “Add a new exchange panel” wystarczy kliknąć na ten panel aby się rozwinął i będzie zawierał różne właściwości do tworzenia nowej wymiany jak pokazano poniżej.
Właściwości wymiany RabbitMQ
Poniżej znajdują się różne typy właściwości, które musimy wypełnić aby utworzyć nową wymianę w rabbitmq.
Property | Description |
---|---|
Name | Nazwa będzie nazwą wymiany, którą ustawisz i musi być unikalna. |
Typ | Możesz wybrać wymagany typ wymiany albo temat albo fanout, itp. w oparciu o twoje wymagania. |
Trwałość | Używając właściwości trwałości (Durable, Transient), możemy sprawić, że wiadomość przetrwa nawet po restarcie serwera. Jeśli wybierzemy Durable, wtedy wiadomość przetrwa nawet po restarcie serwera. W przypadku, gdy wybierzemy Tansient, wiadomość nie zostanie obsłużona po restarcie serwera. |
Auto Delete | Używając właściwości auto delete, możemy ustawić, czy giełda może usuwać wiadomości, jeśli odblokujemy przypisaną do niej kolejkę. |
Internal | Jeśli ustawimy tę właściwość tak, to giełda nie może być używana bezpośrednio przez wydawców, ale tylko wtedy, gdy jest powiązana z innymi giełdami. |
Alternate-exchange | Jeżeli istnieje problem z publikacją wiadomości na giełdzie, wtedy używając tej właściwości możemy określić alternatywną giełdę do wysłania wiadomości do kolejki. |
Po wprowadzeniu wszystkich wymaganych szczegółów, kliknij przycisk Dodaj giełdę aby utworzyć nową giełdę jak pokazano poniżej.