網頁

2022/11/17

RabbitMQ 什麼是Exchange

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自訂參數。


沒有留言:

張貼留言