2013-07-10 147 views
0

的問題卡夫卡點對點

我們有一個多數據中心的ActiveMQ設置,與NFS每個HA對,似乎ActiveMQ是不是真正可擴展的,並且不與NFS問題上發揮很好。 (我們使用的是5.7)

可能的解決方法

移動到卡夫卡

要求

  • 我們需要點對點&的pub/sub功能
  • 消息優先級(我知道卡夫卡並沒有提供那種開箱即用的功能,但是我有一個解決方法T ON我方)

問題

這可能與卡夫卡(不一定外的開箱,但也有一些客戶端的調整)?如果沒有,那麼你會建議什麼其他技術?它不必是JMS,但它必須是可擴展的,可靠的(它需要用NFS發揮出色)

回答

0

我們需要點對點&的pub/sub功能

卡夫卡這是否共享我發現here

消息優先級

小confu sed究竟是什麼意思,但通過優先級,如果你的意思是消費從一個特定的偏移量,然後低級別或簡單的消費者API提供。它還支持重新提交的消息,以及

0

對於點對點消息傳送,(單個生產者,單個消費者),可以配置分區的數量爲1生產者將公佈有關這個主題和分區和消息一個消費者,將閱讀該主題和分區。一個主題將等同於您在ActiveMQ中的隊列。

如果您想要添加消息優先級,我會使用較低級別的Kafka客戶端,然後可以增加分區數(每個分區針對不同優先級的消息),並讓消費者從首先是最高優先級的主題,如果沒有消息存在,它將從下一個較低優先級的主題獲取。

+0

他們可以爲每個優先級別使用單獨的主題 –

0

在你的情況我會用卡夫卡與每個主題1個分區對每個消息優先級不同的主題中,解決交貨的優先級對用戶側。

0

卡夫卡提供點對點和發佈訂閱使用模式用戶組的概念。 沒有直接支持的是選擇器,優先級。但是你有可能通過分區來分發消息,所以你可以根據分區的優先級來分發消息。 您還可以獲得免費的留言持久性(核心原則之一),這受到留存政策的限制。卡夫卡中的每條消息實際上都是鍵值對。 Key在分區和日誌壓縮中有一些特定的語義。在傳統的消息傳遞系統中沒有任何東西可以使用自定義標題,您可以使用它來進行路由等。以下article試圖總結這一點。