ABP微服务系列学习-对接Apollo配置中心

ABP微服务系列学习-对接Apollo配置中心
前面我们把服务都已经成功启动,并且对接前端Angular界面。
但是在微服务结构中,多个服务意味着需要配置多个配置文件,这时就需要引入配置中心这玩意了。
配置中心有很多现成的方案,比如携程的阿波罗,K8S自带的ConfigMap等等。
这里介绍一下如何对接携程的阿波罗配置中心。
部署Apollo服务#
在开发环境,我们可以使用Docker一键搭建我们Apollo服务。
安装部署过程直接看官方文档https://www.apolloconfig.com/#/zh/deployment/quick-start-docker
这里就不赘述了。
使用docker-compsoe up启动服务后看到日志说明启动成功。
apollo-quick-start | Started [66]apollo-quick-start | Waiting for config service startup...apollo-quick-start | Config service started. You may visit http://localhost:8080 for service status now!apollo-quick-start | Waiting for admin service startup.apollo-quick-start | Admin service startedapollo-quick-start | ==== starting portal ====apollo-quick-start | Portal logging file is ./portal/apollo-portal.logapollo-quick-start | Application is running as root (UID 0). This is considered insecure.apollo-quick-start | Started [247]apollo-quick-start | Waiting for portal startup...apollo-quick-start | Portal started. You can visit http://localhost:8070 now!
浏览器打开http://localhost:8080或者http://127.0.0.1:8080可以看到界面
浏览器打开http://localhost:8070或者http://127.0.0.1:8070可以看到管理界面
添加配置#
在管理界面输入账号apollo,密码admin即可进入管理后台。
然后我们根据服务创建应用,每一个服务对应一个应用
这里按照服务创建了5个应用
删除默认Namespcae#
点击应用名称进去应用管理,先删除默认自带的Namespace application,因为默认的Namespace是properties类型,不符合我们JSON的配置。虽然能读取,但是识别内容都是字符串。
创建新的Namespace#
在应用管理界面左下角,可以看到添加Namespace的按钮,点击添加Namespace。
然后输入我们的配置名称,以及配置类型,配置类型选择JSON
创建完成后我们返回应用管理页面修改配置,把我们服务中appsettings.json文件内容复制到配置里面。
网关服务的配置,多个配置文件就添加多个Namespace
这里每一个Namespace就相当于一个文件的概念。
更详细的说明可以看官网文档介绍 https://www.apolloconfig.com/#/zh/design/apollo-core-concept-namespace?id=_1-%e4%bb%80%e4%b9%88%e6%98%afnamespace
发布配置#
修改配置内容后,一定要点击发布,不然配置不会生效。
微服务对接Apollo配置中心#
安装nuget#
Apollo官网有.net的sdk,nuget包名字是Com.Ctrip.Framework.Apollo.Configuration。
在微服务shared模块的FunShow.Shared.Hosting.AspNetCore项目中添加Com.Ctrip.Framework.Apollo.Configuration引用。
配置#
然后封装一下IHostBuilder的扩展方法
using Microsoft.Extensions.Configura
ABP微服务系列学习-对接Apollo配置中心
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



