2016-07-29 91 views
2

我在研究Apache Kafka,我的用例要求客戶端能夠過濾消息,並且過濾發生在代理上,而不是客戶端上。這個要求與使用JMS選擇器相同。帶選擇器的Apache Kafka客戶端?

這是我的理解,雖然我可能不正確,卡夫卡沒有選擇器,並在客戶端進行過濾。所以所有的消息都發送給客戶端,客戶端負責過濾。

有沒有辦法實現JMS Selector方法,其中過濾發生在代理上?

+0

你是如何實現這個目標的?我很想聽 – selotape

回答

3

不,你不能做那樣的事情。您可以做的最好的事情是在客戶端進行過濾。 Apache Kafka API僅支持獲取類型「給我從主題N分區M開始從偏移量X開始最多1兆字節的消息」。

您可以參考Wire Protocol reference查看提取請求的可能選項,但它不包含任何您正在查找的內容。實際上,Kafka的速度很快,因爲每個抓取只是一個順序讀取,所以我不認爲這將在未來的版本中實現(但如果我錯了,我會很高興:))。