我有一個部署,我們正在使用kafka從服務發送消息。但是我們需要在所有地區都有卡夫卡大師。所以一旦消息被推送到1個數據中心,它應該在其他地方同步。當它再次在其他數據中心完成時,它應該同步回來。 Mirror Maker可以提供從1到其他的同步,但是如何實現雙向同步?** Kafka **跨區域數據中心之間的雙向同步
回答
Master-Master類型的複製在Kafka中可用,Kafka MirrorMaker只能朝一個方向反射。
爲什麼?
Kafka MirrorMaker基本上是生產者和消費者將事件從一個DC轉移到另一個DC的組合,在此過程中,鏡像主題的偏移量將與源羣集中的偏移量不同。現在,如果我們希望雙向將不得不跟蹤一端產生的消息,如果不在所有消費者和製作者中調整太多,這很難(不值得)。 無法運行make mirrormaker在Kafka中執行master-master類型的複製,它只會以循環結束。
如果您想要達到您的要求,您可能需要保留數據中心特定的主題並將它們聚合爲主題。
假設你想從DC1和DC2中產生消息給topicA。
讓DC1中的topicA-DC1和DC2中的topicA-DC2。在DC1和DC2中都有主題topicA。
您的mirromaker應該擁有來自topicA-DC1和topicA-DC2的聚合消息,以便在兩個數據中心內掌握主題topicA。
我懷疑的原因是MirrorMaker一個方向是爲了避免「迴路」同一事件的從站點A被讀入站點B然後再在B同步的回A.
如果你看看this blog post(特別是「層級和聚合」)解決方案是擁有「本地」和「聚合」主題,您可以使用MM從本地主題讀取遠程聚合主題
提到的解決方案將工作,但它將加起來的服務器數量。比方說,我們必須限制運行kafka的服務器的數量,是否有辦法在兩個數據中心上運行鏡像並同步? –
- 1. 同步之間的區別
- 2. 用於在不同數據中心之間同步數據的開源工具
- 3. Windows Mobile 6.5中Compact和SQL Server DB之間的雙向同步
- 4. 雙向mysql數據庫同步
- 5. Android雙向sqlite數據庫同步
- 6. 雙向同步應用程序,核心API或同步API?
- 7. iPhone和iPad之間的核心數據同步
- 8. 同步Mac和iPhone之間的核心數據模型
- 9. 同步iPhone和iPad之間的核心數據應用程序
- 10. 數據庫和應用程序之間雙向OneToMany關係不同步
- 11. SQL Server和LocalDB之間的雙向同步
- 12. gerrit和github.com之間的雙向同步可能嗎?
- 13. Facebook頁面和網站之間的雙向同步內容
- 14. Google電子表格之間的雙向內容同步
- 15. SQL CE和SQL Server之間的雙向同步供應
- 16. 視圖對象之間的雙向同步
- 17. 如何在不同區域之間傳遞時間數據?
- 18. R中的逐步函數之間的區域
- 19. 雙向同步rsync
- 20. 雙向豆同步
- 21. 數據庫和域層之間的同步
- 22. 如何同步核心數據和CloudKit之間記錄有效
- 23. 通過WiFi在iOS設備之間同步核心數據?
- 24. 雙向同步(解決時間依賴)
- 25. 數據複製和同步之間的區別?
- 26. 同步函數和同步塊之間有什麼區別?
- 27. Kafka MirrorMaker多個區域之間的複製
- 28. Gemfire區域同步
- 29. 如何在GIT和SVN之間進行雙向同步
- 30. 如何在Android SQLite和SQL Server之間進行雙向同步
感謝您的解釋。我現在也覺得,應該在主設備和從設備上運行多個鏡像製造商來維護相同的數據。 –