天天看點

重新整理 .net core 實踐篇————配置中心[四十三]

前言

簡單整理一下配置中心。

正文

什麼時候需要配置中心?

  1. 多項目組并行協作
  2. 運維開發分工職責明确
  3. 對風險控制有更高訴求
  4. 對線上配置熱更新有訴求

其實上面都是套話,如果覺得項目不友善的時候就需要用配置中心了。

apollo 配置中心系統的能力:

  1. 權限與審計
  2. 版本管理
  3. 熱更新
  4. 原生支援java和.net 用戶端
  5. 項目熱度可以,不會出現bug沒人修的情況

那麼就實驗一下。這裡就不示範安裝了。

然後官方有個demo,我直接用demo示範就好。http://106.54.227.205/ 這個位址。賬戶密碼是:apollo/admin。

那麼就開始吧。

第一步直接建立好一個應用:

重新整理 .net core 實踐篇————配置中心[四十三]

建立完後就出現了項目的配置管理。

重新整理 .net core 實踐篇————配置中心[四十三]

添加一些配置項:

重新整理 .net core 實踐篇————配置中心[四十三]

然後需要釋出出去:

重新整理 .net core 實踐篇————配置中心[四十三]

安裝一下:

重新整理 .net core 實踐篇————配置中心[四十三]

然後需要配置好服務:

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": "http://106.54.227.205:8080",
    "ConfigServer": ["http://106.54.227.205:8080"]
  },
           

然後測試代碼:

[ResponseCache(Duration =6000)]
public IActionResult Pay([FromServices]IConfiguration configuration)
{
	
	return Content("買買買:"+ configuration["china"]);
}
           

效果:

重新整理 .net core 實踐篇————配置中心[四十三]

那麼現在在配置中心修改一下china為vary good,修改後要釋出。

修改釋出後,我們的控制台就收到了通知。

重新整理 .net core 實踐篇————配置中心[四十三]

那麼再通路一下。

重新整理 .net core 實踐篇————配置中心[四十三]

這樣就實作了熱更新。

下一節監測。

因為後續大量是k8s部分,故而會重新整理一下k8s部分,docker 部分整理比較多,不曉得來的及不。