在生成/消費者消息時添加Schema Registry的附加層(又稱失敗點)是否有任何好處?如果服務發生故障,則不會消耗或生成消息。使用卡夫卡的系統不會因爲不使用架構註冊表而導致錯誤少一點,從而不易發生錯誤?添加額外的Schema Registry註冊表權重?
回答
在您的體系結構中擁有模式註冊表的一個關鍵點是確保您的數據管道即使在正常操作期間也是端到端工作的「。也就是說,即使所有系統啓動並運行(「全部綠色,100%正常運行!」),由團隊A
管理的生產者應用程序可能會得到更新,並且現在開始生成不兼容的數據,這些數據導致對下游消費者造成的附帶損害,這些下游消費者由團隊B
和C
管理,他們並不期待這種變化。
因此,當您決定是否使用模式註冊表時,您不僅應該問自己「何時失敗」的情況(這很可能會在某個時候發生,這就是爲什麼例如Confluent模式註冊表支持諸如高可用性設置之類的功能),但是關於數據管道所需的一般保證。
如果服務發生故障,則不會消耗或生成消息。
一般來說,是的。實際上,架構註冊表服務的高可用性模式,模式的客戶端緩存等功能都有助於最大限度地減少任何此類損害。
使用卡夫卡的系統不會因爲不使用架構註冊表而導致錯誤少一點,從而不會出現錯誤?
你是對的,一般來說,你想避免引入一個組件,這將是鏈中的另一個失敗點。也就是說,如果您正在生產中運行數據管道 - 特別是在一個更大的組織中 - 模式註冊中心還有助於通過確保寫入的數據始終可以讀取來消除「故障點」。有人可能會爭辯說,由「數據變化」引發的故障至少可以和由於一個或多個系統不可用而引發的故障一樣常見。
模式註冊表可以配置爲highly available,因此它不是單點故障。
也就是說,如果您需要模式註冊表附帶的便利性和模式兼容性規則,那麼您希望使用它。並非所有連接到Kafka集羣的客戶端都需要使用它,因此您可以嘗試它,而不會影響同一集羣上的其他客戶端。
對於avro消息使用模式註冊表的主要替代方法是將模式添加到消息本身。一些用戶對於較大的消息大小並沒有系統地演進架構是可以的。模式註冊表適用於那些關心這些事情的人。
- 1. MSI Registry註冊前額未更新
- 2. 如何添加額外的字段到Django註冊表單?
- 3. 向django註冊表格添加額外的字段
- 4. 爲Joomla註冊表單添加額外的字段
- 5. 如何在joomla 2.5註冊表單中添加額外字段?
- 6. 額外的字段Django註冊表格
- 7. 添加額外的輸入auth用戶註冊之前laravel 5.4
- 8. WP:添加額外的用戶註冊操作
- 9. 如何添加額外的屬性到分析註冊功能?
- 10. Joomla! - 如何爲用戶註冊添加額外信息?
- 11. Rails在設計註冊中添加額外字段
- 12. 在註冊時添加用戶名和額外信息angular4
- 13. rails設計:在註冊時添加額外功能
- 14. 向Wordpress用戶註冊添加額外字段
- 15. 如何在devise生成的註冊表單中添加額外的字段?
- 16. 如何在wordpress中添加註冊表單中的一些額外字段?
- 17. 在facebook上添加額外權限MVC
- 18. 添加權限組odoo ir.values註冊
- 19. 註冊表權限
- 20. C++添加註冊表項
- 21. C++添加到註冊表
- 22. WSO2治理註冊表Json Schema
- 23. Swift MapKit - 添加(額外)attribut到註釋?
- 24. 更改註冊表權限
- 25. Jomsocial - 如何在Jomoscial註冊的第一頁上添加額外的字段
- 26. Rails設計額外用戶註冊
- 27. django-social-auth註冊額外步驟
- 28. 在Windows註冊表項頂部添加註冊表項#
- 29. 查找註冊表父文件夾以添加註冊表
- 30. 想要爲Hikashop用戶註冊部分添加額外的字段