Consul-配置中心

Consul除了服务注册发现,还可以做配置中心。配置中心就是把各个业务服务器的配置文件统一放到配置中心中,这样就可以实现修改配置中心的内容,业务服务器自动同步

快速开始

1、启动Consul

consul.exe agent -dev	

2、添加配置appsettings.json

3、创建测试项目Consul.Service1
4、添加Nuget包

<PackageReference Include="Winton.Extensions.Configuration.Consul" Version="3.2.0" />

5、添加Consul配置源

//配置相关
builder.Host.ConfigureAppConfiguration(config => {
    config.AddConsul("appsettings.json", options =>
    {
        options.ConsulConfigurationOptions = cco => { cco.Address = new Uri("http://127.0.0.1:8500"); }; //consul地址
        options.Optional = true; 
        options.ReloadOnChange = true; // 热加载
        options.OnLoadException = exceptionContext => { exceptionContext.Ignore = true; }; //忽略异常
    });
});

6、项目中读取配置

[HttpGet]
public string Get([FromServices]IConfiguration configuration)
{
    return $"userName:{configuration["UserName"]},password:{configuration["Password"]}";
}

输出:userName:fan,password:123456

多层级配置

Consul中的key有层级结构,可以将配置放到目录中,如果有多个服务需要从配置中心读取配置,可以将每个服务的配置放到对应的目录中,如下:

目录创建:

添加配置源:

//配置相关
builder.Host.ConfigureAppConfiguration(config => {
    config.AddConsul("Service1/appsettings.json", options =>
    {
        options.ConsulConfigurationOptions = cco => { cco.Address = new Uri("http://127.0.0.1:8500"); }; //consul地址
        options.Optional = true; 
        options.ReloadOnChange = true; // 热加载
        options.OnLoadException = exceptionContext => { exceptionContext.Ignore = true; }; //忽略异常
    });
});

参考:
https://www.cnblogs.com/yaopengfei/p/12916884.html

posted @   .Neterr  阅读(977)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示