重新整理 .net core 實踐篇————配置中心[四十三]
- 2021 年 7 月 12 日
- 筆記
- .net core(web)
前言
簡單整理一下配置中心。
正文
什麼時候需要配置中心?
-
多項目組並行協作
-
運維開發分工職責明確
-
對風險控制有更高訴求
-
對線上配置熱更新有訴求
其實上面都是套話,如果覺得項目不方便的時候就需要用配置中心了。
apollo 配置中心系統的能力:
-
許可權與審計
-
版本管理
-
熱更新
-
原生支援java和.net 客戶端
-
項目熱度可以,不會出現bug沒人修的情況
那麼就實驗一下。這裡就不演示安裝了。
然後官方有個demo,我直接用demo演示就好。//106.54.227.205/ 這個地址。賬戶密碼是:apollo/admin。
那麼就開始吧。
第一步直接創建好一個應用:
創建完後就出現了項目的配置管理。
添加一些配置項:
然後需要發布出去:
安裝一下:
然後需要配置好服務:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((hostBuilderContext, configurationBuilder) =>
{
LogManager.UseConsoleLogging(Com.Ctrip.Framework.Apollo.Logging.LogLevel.Trace);
configurationBuilder.AddApollo(configurationBuilder.Build().GetSection("Apollo")).AddDefault(Com.Ctrip.Framework.Apollo.Enums.ConfigFileFormat.Properties);
})
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
看ConfigureAppConfiguration 這部分。
然後上面寫道我們要用Apollo配置,那麼需要在配置文件中配置一下:
"Apollo": {
"AppId": "asdfghjklaxm",
"Env": "DEV",
"MetaServer": "//106.54.227.205:8080",
"ConfigServer": ["//106.54.227.205:8080"]
},
然後測試程式碼:
[ResponseCache(Duration =6000)]
public IActionResult Pay([FromServices]IConfiguration configuration)
{
return Content("買買買:"+ configuration["china"]);
}
效果:
那麼現在在配置中心修改一下china為vary good,修改後要發布。
修改發布後,我們的控制台就收到了通知。
那麼再訪問一下。
這樣就實現了熱更新。
結
下一節監測。
因為後續大量是k8s部分,故而會重新整理一下k8s部分,docker 部分整理比較多,不曉得來的及不。