程序员的资源宝库

网站首页 > gitee 正文

微服务-基于Apollo的统一配置(5) poin微服务间服务调用主要基于哪个技术

sanyeah 2024-03-29 17:44:40 gitee 7 ℃ 0 评论

在微服务项目中,随着微服务数量的增加,统一修改配置时需要逐个修改并发布会非常繁琐。引入Apollo进行所有配置项的统一管理。
Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境,不同集群的配置,修改后能够实时推送到应用端,并具备规范的权限,流程治理等特性。
 
一.Apollo安装:
docker-compose部署
准备好配置文件:
 

 

 

cd进入存放配置文件的文件夹,这里起名“Apollo”
输入:docker-compose up -d
可能遇到以下问题:
Cannot open self /usr/local/bin/docker-compose or archive /usr/local/bin/docker-compose.pkg
解决方法:
wget https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m) -O /usr/local/bin/docker-compose
 
安装完成后:
 
 
浏览器访问18070端口

 

 

账号:apollo 密码:admin 首页如下图:
 

 

 

二.Apollo使用:
(1)创建WebApi项目 ServiceApi
 
(2)Nuget包:
Com.Ctrip.Framework.Apollo.Configuration
 
(3)修改配置
appsettings.json
1 "Apollo": {
2     "AppId": "MicroServiceAppId",
3     "Env": "DEV",
4     "MetaServer": "http://192.168.0.113:18080/",
5     "ConfigServer": [ "http://192.168.0.113:18080/" ]
6   }

其中 192.168.0.113是linux对应的服务器地址

Program.cs
 1 public static IHostBuilder CreateHostBuilder(string[] args) =>
 2 Host.CreateDefaultBuilder(args)
 3   .ConfigureAppConfiguration((hostBuilderContext, configurationBuilder) =>
 4   {
 5       LogManager.UseConsoleLogging(Com.Ctrip.Framework.Apollo.Logging.LogLevel.Trace);
 6       configurationBuilder
 7           .AddApollo(configurationBuilder.Build().GetSection("apollo"))
 8           .AddDefault()
 9           .AddNamespace("MicroServiceJson", ConfigFileFormat.Json)//自定义的private NameSpace
10           .AddNamespace(ConfigConsts.NamespaceApplication);//Apollo中默认NameSpace的名称 
11   })
12     .ConfigureWebHostDefaults(webBuilder =>
13     {
14         webBuilder.UseStartup<Startup>();
15     });

 

(4)在Apollo中配置Json命名空间
“添加Namespace”
 
配置AppID

 

 

创建私有命名空间“MicroServiceJson”,和项目中的配置项对应

 

 

配置文本内容,以下是appsettings.json内容,添加测试节点“ApolloTestOption”

 

 

点击按钮“发布”,配置文件发布成功并生效
 
(5)代码调试:
Summaries[0] = configuration["ApolloTestOption:NameA"];

 

结果如下:
 

 

 

 
以上仅用于总结和学习!

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表