2015-11-05 84 views
0

我在卡夫卡新,並有一些問題。 我知道我們可以使用自己的分區邏輯實現Partitioner類,它根據消息密鑰返回特定的分區。此外,我們可以設置日誌壓縮策略,在該策略下僅存儲具有相同密鑰的最新版本的消息。 但我需要爲此操作提供不同的消息密鑰。例如,我們擁有ID和地址(city_id)的實體。我想根據city_id選擇分區,只存儲有關具有相同ID的人的最新信息。有什麼辦法可以解決這個問題嗎? 對不起我的英語不好,我真的很想學習卡夫卡。卡夫卡addtional分區密鑰或partitoner無鑰匙

回答

1

所有具有相同城市的郵件都轉到同一分區是絕對必要的嗎?如果是,爲什麼?你能介紹一下你的用例嗎?

如果不是,則可以在散列計算中包括city_idperson_id。這樣壓縮應該除去最新的人信息(假設你有從1人到1人的映射,這在模式中通常是這樣)?

+0

我需要在city_id的不同部分發布消息,因爲我想使用將僅消費特定分區的消費者 – mechanikos