RabbitMQ的exchange(交換器)是用來接收producer發來的訊息然後轉送到queue。
Exchange傳送訊息到queue的規則決定於exchange本身的類型(exhange types)及與queue建立的bindings。
Exchange Types
RabbitMQ的exchange分為以下類型:
- Default - 預設的exchange,是一種特殊的direct exchange。RabbitMQ會把每個新建的queue自動bind到此exchange,routing key為queue的名稱。
- Direct - 把訊息傳給符合routing key的bindiing queues。
- Fanout - 把訊息傳送到全部的binding queues。Routing key無作用。
- Topic - 把訊息傳送到符合routing key pattern的bind queues。
- Headers - 把訊息傳送到符合headers屬性的binding queues。Routing key無作用
Exchange Attributes
RabbitMQ的exchange的屬性如下:
- Name - exchange的名稱。
- Durability - RabbitMQ重啟時exchange是否繼續存活。
- Durable - 重啟時exchange存活。
- Transient - 重啟時exchange消滅。
- Auto delete - exchange最後一個binding queue unbind時是否被刪除。
- Internal - 是否為內部使用,若是則無法接收RabbitMQ外部publisher送來的訊息。
- Arguments - key-value自訂參數。
沒有留言:
張貼留言