新進文章

初試 Kafka - 實作生產者-消費者模式(Producer-Consumer Pattern)

過去工作專案大多使用 RabbitMQ 來處理訊息佇列,RabbitMQ 的幾種模式(Direct, Topic, Fanout)都有使用,因為都可以解決大多數的應用情境,所以就沒有想要去使用 Kafak,畢竟多建立一套服務就需要再多花時間去維護。

一直以來也想要找個時間來玩玩 Kafka,於是就利用週末時間學習怎麼使用 Docker 架設服務,程式開發練習怎麼使用 Confluent.Kafka,這是一篇學習筆記。

...繼續閱讀 »
on mrkt

將 Wolverine 接上 RabbitMQ - 使用 WolverineFx.RabbitMQ

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

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

...繼續閱讀 »
on mrkt

使用 Wolverine 實作生產者-消費者模式(Producer-Consumer Pattern)

之前寫了一篇「使用 Channels 與 BackgroundService 實作生產者-消費者模式(Producer-Consumer Pattern)」是使用 Channels 與 BackgroundService 來實作,而這一次就來改用 Wolverine 這個套件來試試看。

有關 Wolverine 這個套件我也看了好久,一直想拿來試試看,會想要用這個套件,主要是它是一個輕量化的工具,適合用於整合訊息佇列、事件驅動設計和後台任務處理。

而且也因為適合用於整合訊息佇列、事件驅動設計,所以支援了許多第三方服務,例如:RabbitMQ, Kafaka, MQTT, AzureServiceBux, AmazonSqs 等,所以打算之後也繼續玩玩 Wolverine。

...繼續閱讀 »
on mrkt

進修課程