V rabbitmq, když producent vytvoří zprávu, která nebude přímo odeslána do fronty, místo toho bude zpráva nejprve odeslána do výměn, poté ji směrovací agent přečte a odešle do příslušné fronty pomocí atributů hlavičky, vazeb a směrovacích klíčů.
Typy výměn RabbitMQ
V rabbitmq máme k dispozici čtyři typy výměn, které umožňují směrovat zprávu různými způsoby.
Následují různé typy výměn, které jsou v rabbitmq k dispozici.
- Přímá
- Fanout
- Topic
- Headers
Přímá výměna rabbitMQ
V rabbitmq přímá výměna doručí zprávy do front na základě klíče směrování zpráv. Při přímé výměně je zpráva směrována do front, jejichž vazební klíč se přesně shoduje se směrovacím klíčem zprávy.
Následující obrázek znázorňuje tok zpráv v přímé výměně rabbit.
Výměna fanoušků rabbitMQ
Výměna fanoušků rabbitmq bude směrovat zprávy do všech front, které jsou s ní svázány.
Následující obrázek je obrazovým znázorněním toku zpráv ve výměně fanoušků rabbitmq.
Výměna témat rabbitMQ
Výměna témat rabbitmq provede při publikování zpráv do fronty shodu mezi směrovacím klíčem a směrovacím vzorem uvedeným ve vazbě.
Následující obrázek je obrazovým znázorněním toku zpráv ve výměně témat rabbitmq.
Výměna hlaviček rabbitMQ
Výměna hlaviček rabbitmq použije pro směrování atributy hlavičky zprávy.
Následující obrázek je obrazovým znázorněním toku zpráv ve výměně hlaviček rabbitmq.
Nyní si ukážeme, jak přidat výměny v rabbitmq pomocí zásuvného modulu pro webovou správu.
RabbitMQ Create Exchange
Chcete-li vytvořit nové výměny, otevřete nejprve portál pro webovou správu rabbtimq, zadejte výchozí přihlašovací údaje a vyberte kartu Exchanges.
Po přechodu na kartu Výměny se zobrazí panel “Přidat novou výměnu”, který stačí kliknutím na tento panel rozbalit a který bude obsahovat různé vlastnosti pro vytvoření nové výměny, jak je uvedeno níže.
Vlastnosti burzy RabbitMQ
Následují různé typy vlastností, které musíme vyplnit pro vytvoření nové burzy v rabbitmq.
Vlastnost | Popis |
---|---|
Název | Název bude název burzy, který nastavíme, a musí být jedinečný. |
Typ | Na základě vašich požadavků můžete zvolit požadovaný typ výměny buď topic nebo fanout apod. |
Durability | Pomocí vlastností durability (Durable, Transient) můžeme zajistit, aby zpráva přežila i po restartu serveru. Pokud vybereme možnost Durable, pak zpráva přežije i po restartu serveru. V případě, že vybereme Tansient, pak zpráva nebude fungovat ani po restartu serveru. |
Auto Delete | Pomocí vlastnosti auto delete můžeme nastavit, zda může být burza smazána, pokud zrušíme vazbu na přiřazenou frontu. |
Internal | Pokud nastavíme tuto vlastnost ano, pak burza nesmí být použita přímo vydavateli, ale pouze při vazbě na jiné burzy. |
Alternate-exchange | Pokud je problém s publikováním zprávy do burzy, pak pomocí této vlastnosti můžeme zadat alternativní burzu pro odeslání zprávy do fronty. |
Pokud zadáme všechny požadované údaje, pak klikneme na tlačítko Add exchange pro vytvoření nové burzy, jak je uvedeno níže.
.