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

前言

简单整理一下配置中心。

正文

什么时候需要配置中心?

  1. 多项目组并行协作

  2. 运维开发分工职责明确

  3. 对风险控制有更高诉求

  4. 对线上配置热更新有诉求

其实上面都是套话,如果觉得项目不方便的时候就需要用配置中心了。

apollo 配置中心系统的能力:

  1. 权限与审计

  2. 版本管理

  3. 热更新

  4. 原生支持java和.net 客户端

  5. 项目热度可以,不会出现bug没人修的情况

那么就实验一下。这里就不演示安装了。

然后官方有个demo,我直接用demo演示就好。http://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": "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"]);
}

效果:

那么现在在配置中心修改一下china为vary good,修改后要发布。

修改发布后,我们的控制台就收到了通知。

那么再访问一下。

这样就实现了热更新。

下一节监测。

因为后续大量是k8s部分,故而会重新整理一下k8s部分,docker 部分整理比较多,不晓得来的及不。

posted @ 2021-07-12 21:33  敖毛毛  阅读(626)  评论(0编辑  收藏  举报