在生產環境,我們常常要儲存一些像服務引數、功能開關之類的鍵值。傳統的做法是把配置都寫到檔案裡,然後同步到線上每台機器上。隨著機器變多,配置檔案變得難以管理,並且容易出現不一致的情況。我們希望設計乙個配置服務來解決這個問題。
統一配置服務可能會存在以下問題:由於是非常核心的服務,如果存在單節點問題對服務可用性影響非常大;線上可能讀取非常頻繁,盡可能提供高效能的服務同時,也要考慮橫向擴容能力;需要保證配置在期望的時間內下發與更新;
請設計乙個儲存服務,包含但不限於以下角色:服務端(可能由多個節點組成),客戶端(讀取、寫入乙個配置),其他(如旁路的監控等);
系統假設:
1、儲存量都在1gb以內,單機記憶體可以儲存下;
2、每秒寫入在 1000 以內
3、每秒讀取在 1000000 以上
4、使用盡量少的節點
5、無論什麼時候,服務總是可以讀寫
6、允許故障期間讀到老的配置資料
7、故障恢復後,資料保持同步
seata 的註冊中心和配置中心
註冊中心 服務端註冊中心 位於seata server的registry.conf配置檔案中的registry.type引數 為了實現seata server集群高可用不會使用file型別,例如下邊 表示 使用zookeeper作為seata服務們的註冊管理中心,當前seata服務將會交由這個zk管...
網路配置中心
配置中心 pom 配置依賴 org.springframework.cloud spring cloud config server server port 你的埠 spring cloud config server git uri gtihub 官網倉庫路徑配置中心的main 讀取配置中心 en...
配置中心化
現實場景 傳統應用打包部署,會在不同的環境配置不同的包,如local環境,dev環境,測試環境,uat環境,生產環境分別製作不同的發布包,每個包裡環境特定配置.每一次部署都要修改配置檔案,提交審核 才能打包,非常的不方便.相信很多朋友和我一樣碰到過這種問題.如果是共用環境,由於環境問題,經常會導致乙...