跳到主要內容

發表文章

目前顯示的是 2月, 2020的文章

分散式系統的好幫手-RabbitMQ (下)

在上次的 文章 中間單的介紹RabbitMQ 如何發送和接收訊息,今天我們要來介紹一下RabbitMQ的四種 Exchange以及其路由規則。 1. Fanout Exchange: 就像是廣播一樣,發送時會將資料送到有綁定Fanout Exchange的Queue中。 例如:發送資料到fanout.exchange,則queue-1和queue-2都會收到資料。 public void FanoutPublisher() { ConnectionFactory factory = new ConnectionFactory() { HostName = "localhost" }; using (IConnection connection = factory.CreateConnection()) { using (IModel channel = connection.CreateModel()) { channel.QueueDeclare(queue: "queue-1", durable: false, exclusive: false, autoDelete: false, arguments: null); channel.QueueDeclare(queue: "queue-2", durable: false, exclusive: false, autoDelete: false, arguments: null); channel.ExchangeDeclare(exchange: "fanout.exchange", type: ExchangeType.Fanout, durable: true, autoDelete: false); channel.QueueBind(queue: "queue-1