將 Wolverine 接上 RabbitMQ - 使用 WolverineFx.RabbitMQ

  • 154
  • 0
  • C#
  • 2024-10-26

前一篇「使用 Wolverine 實作生產者-消費者模式(Producer-Consumer Pattern)」介紹了將原本使用 Channels + BackgroundService 的生產者-消費者模式改用 Wolverine  來實作。

就以現實的問題來看,如果服務是相當頻繁地被使用時,如果 MessageCreatedEventHandler 消費者的處理速度有所延遲,那麼 Channels 裡就會堆積大量的 MessageCreatedEvent 事件,一旦服務出現問題而重新啟動或是有版本更新而需要重新部署,那麼佇列在 Channels 裡的事件就會消失不見了,這可是不得了的事情。所以這篇就來用 WolverineFx.RabbitMQ,生產者將事件發送到 RabbitMQ 裡,然後消費者再去接收存放在 RabbitMQ 裡的訊息,如此的改變就是為了避免因為服務重新啟動而讓佇列在 Channels 裡的事件消失不見。

...繼續閱讀 »

快速建立開發環境的 RabbitMQ Cluster - 使用 bat 執行檔的方式

一般來說建立 RabbitMQ Cluster  最快的方式就是透過 Docker 建立,看你是要直接下指令或是編寫 Docker Compose 檔案後再執行都可以,但是會遇到一個問題就是叢集環境建立完成後,還需要再進入 RabbitMQ Management 裡去逐一建立 vhost, User 等等的設定,好一點的話就是有事先匯出一份 definitions.json,這麼一來只需要匯入這個定義檔就可以完成了。

但如果是對一個 Docker 不熟悉更不用說去輸入一條條的指令和一連串步驟的新人來說,上面所說的對他們都是充滿著挑戰性,於是就將建立開發環境 RabbitMQ Cluster 的過程都寫成一個 bat  檔案,新人只要在自己電腦裡安裝好 Docker  環境後只需要執行這麼一個 bat  檔案就可以完成 RabbitMQ Cluster 的建立,裡面所有的設定也都準備好,馬上就可以應用在專案開發上。

...繼續閱讀 »