RabbitMQ Exchanges

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 Direct Exchange folyamatáramlási diagram

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 Fanout Exchange folyamatáramlási diagram

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 Topic Exchange Process Flow Diagram

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.

RabbitMQ Headers Exchange Process Flow Diagram

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.

RabbitMQ Server Web Management Login Screen

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ó.

Új csere létrehozása a rabbitmq-ben

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.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.