攜程配置中心 apollo 篇【轉】

文章內容均爲轉載,本人記錄學習使用。git

================= apollo 篇 ======================================
https://blog.csdn.net/qq_34288630/article/details/79460153 【☆☆☆☆☆】
主題:利用spring boot集成apollo配置中心,基於開源模式開發,開源地址:https://github.com/ctripcorp/apollo
背景:
1.程序功能愈來愈複雜,程序的配置日益增多:
2.各類功能的開關、參數配置、服務器地址、數據庫連接等
3.對於配置的指望值愈來愈高:配置修改後實時生效、灰度發佈、分環境、分集羣管理配置、完善的權限、審覈機制等。
apollo 應運而生
簡介:
Apollo(阿波羅)是攜程框架部門研發的開源配置管理中心。
1.可以集中化管理應用不一樣環境、不一樣集羣的配置;
2.配置修改後可以實時推送到應用端;
3.具有規範的權限、流程治理等特性。github

Apollo支持4個維度管理Key-Value格式的配置:
application (應用)
environment (環境)
cluster (集羣)
namespace (命名空間)

配置基本概念、關鍵屬性:
一、配置是獨立於程序的只讀變量
1.一、配置首先獨立於程序的,同一份程序在不一樣的配置下會有不一樣的行爲;
1.二、配置對於程序是隻讀,程序經過讀取配置來改變本身的行爲,可是程序不該該去改變配置;
常見的配置有(相似 請求超時 可採用註解的形式編碼):
數據庫鏈接:DB Connection Str
線程池:Thread Pool Size
緩衝區:Buffer Size
請求超時:Request Timeout
Java特徵開關:Feature Switch
Java服務器:Server Urls等
二、配置伴隨應用的整個生命週期
#配置貫穿於應用的整個生命週期,應用啓動時經過讀取配置來初始化,在運行時根據配置調行爲。
三、配置可有多種加載方式
#配置也有不少種加載方式,常見的有程序內部hard code,配置文件,在環境變量,啓動參數,基於數據庫等
四、配置須要治理
#權限控制:
因爲配置能改變的程序的行爲,不正確的配置甚至能引發災難,因此對配置的修改必須有比較完善的權限控制
#不一樣的環境、集羣配置管理
同一份程序在不一樣的環境(開發、測試、生產)、不一樣的集羣(如不一樣的數據中心)常常須要不一樣的【配置,因此須要有完善的環境、集羣配置管理
五、框架類組件配置管理
# 還有一類比較特殊的配置 - 框架類組件配置,好比CAT客戶端的配置。
# 雖然這類框架類組件是由其餘團隊開發、維護,可是運行時是在業務實際應用內的,因此本質上能夠認爲框架類組件也是應用的一部分
# 這類組件對應的配置也須要有比較完善的管理方式。spring

相關文章
相關標籤/搜索