如何多線程當有流數據的單一來源卡夫卡生產者是否行得通呢?假設我們有三個生產者線程。每個生產者如何知道數據消費將從何處開始?我們不希望每個生產者都使用相同的數據(重複)。多線程Kafka生產者如何工作?
-1
A
回答
1
在我看來,不是卡夫卡的問題,而是如何使用生產者將消息發送到卡夫卡之前,你的客戶(從API接收器)同步。
0
多線程Kafka製作者將如何工作,當你有流數據的單一來源 ?
您可能想要使用某種中間狀態來跟蹤已成功存儲在kafkastream中的事件主鍵。它
覺得作爲關係數據庫,在那裏當您嘗試使用相同的主鍵寫的多條記錄數據庫將拋出DuplicateKeyException
。
與kafka流相同,在事件中選擇一些獨特的屬性作爲主鍵,並將它們存儲在某種緩存中(如果所有生產者都在同一臺機器/同一應用中,但是分佈式緩存如Redis,Memcached如果你在不同的機器分佈生產者)
因此,流程是,如果該事件已經在EMITTED
狀態在高速緩存中刪除事件。
| emitted events |
Producer1---event1, event10 ---| e1 - EMITTED |
| e10 - EMITTED | eventstream
| |--------------------
Producer2---event1, event2-----| e2 - EMITTED | e1, e10, e2, e3
(ignores e1) | |
| |--------------------
Producer3---event1, event3-----| e3 - EMITTED |
(ignores e1) | |
你也可能要跟蹤的事件,EMIT_INITIATED
的兩種狀態和EMITTED
一次kafkastream承認持久性。這將解決一個問題,當生產者1和2生產者都試圖在同一時間發出event1
既然他們沒有看到它在緩存中,兩者都將被髮射到流。
相關問題
- 1. 如何在多線程生產者 - 使用者模式下完成工作線程後退出工作線程?
- 2. 多線程生產者/消費者
- 3. 多線程生產者/消費者
- 4. 如何線程(生產者/消費者)
- 5. Pentaho Kafka生產者示例
- 6. C# - 多個生產者線程與單個消費者線程
- 7. Kafka transactional生產者和消費者
- 8. kafka生產者與整數值,IntegerSerializer不工作?
- 9. 多生產者/一個消費者Java多線程
- 10. 同步1個生產者和多個消費者(多線程)
- 11. 多線程單生產者多消費者實現
- 12. 多線程:多個生產者+一個消費者
- 13. 消費者生產者多線程消費者不會消逝
- 14. 多線程編程 - 生產者消費者
- 15. librdkafka上的多線程生產者消費者應用程序
- 16. java線程:生產者 - 消費者
- 17. 消費者生產者線程問題
- 18. Java線程生產者和消費者
- 19. boost ::線程生產者消費者
- 20. Java生產者消費者線程
- 21. 如何編寫多線程生產者 - 消費者C程序的測試?
- 22. 合流kafka休息avrò生產者
- 23. kafka:跟蹤生產者偏移
- 24. 生產者/消費者工作隊列
- 25. 如何使用kafka 0.9.0中的多線程使用者?
- 26. 使用Java中的多線程的生產者/消費者
- 27. 多線程消費者,生產者C代碼,不執行?
- 28. 生產者和消費者 - Python中的多個線程
- 29. 紅寶石多線程的生產者 - 消費者
- 30. 多線程:經典的生產者消費者算法
我有點困惑......你說的是你提到生產者,但接下來是「每個生產者如何知道數據消費從何處開始」以及「我們不希望每個生產者消費」.. 。你是在談論消費者還是生產者? – ppatierno
嗨@ppatierno,我正在談論製作人。比方說,如果我們從API獲取數據源,並且想要在Kafka中發佈,那麼下游應用程序可以使用這些數據。 – Mike
在我看來不是卡夫卡的問題,而是你如何同步你的客戶(從API接收器)使用的生產者將消息發送到卡夫卡之前。 – ppatierno