Apollo 配置中心
1. 安装和运行
拉取代码(任何一个都可以)
# Github
git clone https://github.com/ctripcorp/apollo
# fastgit
git clone https://hub.fastgit.org/apolloconfig/apollo
# 或者Gitee
git clon https://gitee.com/apolloconfig/apollo.git
docker-compose
运行 Apollo
2. 新增配置
- 访问 Apollo 管理界面:
http://localhost:8070
- 创建一个命名空间(如:my_test)
- 创建命名空间
- 选择 Private
- 选择 Json
- 在命名空间内修改 json 配置
- 发布
3. 在 NetCore 项目配置
Net5 项目
- Nuget 安装:
Com.Ctrip.Framework.Apollo.Configuration
- 在
appsettings.json
增加配置项 Apollo - 在
program.cs
的 IHostBuilder 调用方法配置(下方中间的那个 ConfigureAppConfiguration 方法里) - 注意:使用 json 配置时,需要指定命名空间类型为 Json 类型,见下方 AddNamespace 代码
{
"Apollo": {
"AppId": "home_work",
"Env": "DEV",
"MetaServer": "http://192.168.124.220:8080",
"ConfigServer": ["http://192.168.124.220:8080"]
}
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((hostingContext, builder) =>
{
LogManager.UseConsoleLogging(Com.Ctrip.Framework.Apollo.Logging.LogLevel.Trace);
builder.AddApollo(builder.Build().GetSection("Apollo"))
.AddNamespace("ms_user", Com.Ctrip.Framework.Apollo.Enums.ConfigFileFormat.Json)
.AddDefault();
})
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
Net6 项目
// 添加Apollo配置中心
builder.Host.ConfigureAppConfiguration((context, b) =>
{
LogManager.UseConsoleLogging(ApolloLogLevel.Trace);
b.AddApollo(configuration.GetSection("Apollo"))
.AddDefault()
.AddNamespace("home_work", Com.Ctrip.Framework.Apollo.Enums.ConfigFileFormat.Json);
});