服务配置场景中consul提供key-value数据存储功能,并且能将变动迅速地通知出去,借助Consul可以实现配置共享,需要读取配置的服务可以从Consul中读取到准确的配置信息。
一、下载安装consul
1.下载地址:https://www.consul.io/downloads
2.命令行安装启动consul:consul agent -dev 开发环境测试,在生产环境中要建立集群
3.consul的监控页面 http://127.0.0.1:8500
二、配置consul
1.在key/value栏目创建文件,将项目appsettings.json内容拷贝到consul
2.安装项目依赖
Install-Package Winton.Extensions.Configuration.Consul
3.Program.cs的CreateHostBuilder方法改为:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.ConfigureAppConfiguration((context, config) =>
{
//使用consul客户端加载consul配置
config.AddConsul("appsettings.json", options =>
{
options.ConsulConfigurationOptions = cco =>
{
cco.Address = new Uri("http://127.0.0.1:8500");
};
//配置热更新 动态加载
options.ReloadOnChange = true;
});
});
webBuilder.UseStartup<Startup>();
});
4.在consul后台修改内容打印输出