A rabbitmq-ben, amikor a termelő létrehoz egy üzenetet, amelyet nem közvetlenül egy várólistára küld, hanem először az üzenetet elküldi a cseréknek, majd ezt követően egy útválasztó ügynök beolvassa és elküldi a megfelelő várólistára a fejléc attribútumok, kötések és útválasztási kulcsok segítségével.
RabbitMQ Exchange típusok
A rabbitmq-ben négyféle Exchange áll rendelkezésre az üzenet különböző módon történő továbbítására.
A következőkben a rabbitmq-ben elérhető különböző típusú cserefolyamatokat ismertetjük.
- Direct
- Fanout
- Topic
- Headers
RabbitMQ Direct Exchange
A rabbitmq-ben a direct exchange az üzeneteket az üzenet útválasztási kulcs alapján juttatja el a várólistákra. A közvetlen csere során az üzenet azokba a várólistákba kerül továbbításra, amelyek kötési kulcsa pontosan megegyezik az üzenet útválasztási kulcsával.
A következőkben a rabbit közvetlen csere üzenetáramlásának képi ábrázolása látható.
RabbitMQ Fanout Exchange
A rabbitmq-ben a fanout exchange az üzeneteket a hozzá kötött összes várólistához továbbítja.
A következő az üzenetáramlás képi megjelenítése a rabbitmq fanout exchange-ben.
RabbitMQ Topic Exchange
A rabbitmq-ben a topic exchange az útválasztási kulcs és a kötésben megadott útválasztási minta közötti vadkeretes egyezést hajtja végre az üzenetek queue-ba való közzétételéhez.
A következő a rabbitmq topic exchange üzenetáramlásának képi megjelenítése.
RabbitMQ Headers Exchange
A rabbitmq-ben a headers exchange az üzenet header attribútumait használja az útválasztáshoz.
A következő az üzenetáramlás képi megjelenítése a rabbitmq headers exchange-ben.
Most megnézzük, hogyan lehet cseréket hozzáadni a rabbitmq-ben a web management plugin segítségével.
RabbitMQ Create Exchange
Új cserék létrehozásához először nyissa meg a rabbtimq web management portált, adja meg az alapértelmezett hitelesítő adatokat a bejelentkezéshez, majd válassza az Exchanges lapot.
Az Exchanges fülre navigálás után megjelenik a “Add a new exchange panel”, csak kattintson a panelre a kibontáshoz, és az új csere létrehozásához különböző tulajdonságokat fog tartalmazni, mint az alábbiakban látható.
RabbitMQ Exchange Properties
A következők a különböző típusú tulajdonságok, amelyeket ki kell töltenünk egy új csere létrehozásához a rabbitmq-ben.
Property | Description |
---|---|
Name | A név egy csere neve lesz, amit be fogunk állítani és egyedinek kell lennie. |
Type | A követelmények alapján kiválaszthatjuk a szükséges csere típusát, legyen az topic vagy fanout stb. |
Durability | A durability (Durable, Transient) tulajdonságok használatával elérhetjük, hogy az üzenet a szerver újraindítása után is fennmaradjon. Ha a Durable (Tartós) beállítást választjuk, akkor az üzenet a szerver újraindítása után is fennmarad. Abban az esetben, ha a Tansient tulajdonságot választjuk, akkor az üzenet a szerver újraindítása után sem fog működni. |
Auto Delete | Az auto delete tulajdonság használatával beállíthatjuk, hogy a csere képes-e törlésre, ha a hozzárendelt várólistát feloldjuk. |
Internal | Ha ezt a tulajdonságot igenre állítjuk, akkor a csere nem használható közvetlenül a kiadók által, hanem csak más csereprogramokhoz kötve. |
Alternate-exchange | Ha probléma van az üzenet cserére történő közzétételével, akkor ennek a tulajdonságnak a használatával megadhatunk egy alternatív cserét az üzenet sorba küldéséhez. |
Amikor minden szükséges adatot megadtunk, akkor kattintsunk az Add exchange gombra egy új csere létrehozásához, mint az alábbi ábrán látható.
Egy új csere létrehozásához kattintson az alábbi gombra.