笑看天下无敌手 发表于 2024-7-3 08:49:40

Springboot整合Apollo框架

一、Apollo作用随着程序功能的日益复杂,程序的设置日益增多:各种功能的开关、参数的设置、服务器的地址……对程序设置的期望值也越来越高:设置修改后实时见效,灰度发布,分环境、分集群管理设置,完善的权限、考核机制……在这样的大环境下,传统的通过设置文件、数据库等方式已经越来越无法满足开发人员对设置管理的需求。Apollo设置中心应运而生!Apollo(阿波罗)是携程框架部门研发的开源设置管理中心,具备规范的权限、流程治理等特性。 二、搭建Apollo设置中心Quick Start:能够在几分钟内在本地环境摆设、启动Apollo设置中心(只针对本地测试使用)1.创建数据库Apollo服务端共必要两个数据库:ApolloPortalDB和ApolloConfigDB-- 数据库ApolloConfigDB 导入apolloconfigdb.sqlselect `NamespaceId`, `Key`, `Value`, `Comment` from ApolloConfigDB.Item;-- 数据库ApolloPortalDB 导入apolloportaldb.sqlselect `Id`, `AppId`, `Name` from ApolloPortalDB.App; 2.Apollo服务端连接这两个数据库修改demo.sh# apollo config db infoapollo_config_db_url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8apollo_config_db_username=xxxapollo_config_db_password=xxx # apollo portal db infoapollo_portal_db_url=jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8apollo_portal_db_username=xxxapollo_portal_db_password=xxx 3.启动Apollo设置中心执行启动脚本,打开git bash here./demo.sh start 4.使用Apollo会在本地启动三个服务,分别使用8070、8080、8090端口http://localhost:8070/http://localhost:8080/http://localhost:8090/ Apollo平台:http://localhost:8070/用户名:apollo密码:xxx 三、springboot整合使用Apollo设置中心1.添加Apollo依赖:pom.xmlcom.ctrip.framework.apolloapollo-client1.1.1 2.编写application.yml文件application-dev.yml:# Apollo 设置管理app:id: basedataapollo:meta: http://localhost:8080bootstrap:enabled: truenamespaces: application, baseeagerLoad:enabled: true 3.springboot启动类添加注解@EnableApolloConfig 4.登录Apollo平台添加设置并发布http://localhost:8070/apollo/admin创建项目:appId添加设置项:key/value、选择集群发布:只有发布过的设置文件才会被客户端获取到,该发布只会作用于当前环境:DEV Apollo设置:https://img2024.cnblogs.com/blog/1797017/202407/1797017-20240703094928249-1950490691.png
比如basedata:公共的设置:去引用base应用的设置,继承base,自己改写会覆盖私有的设置:application文本可以查看自己改写的,和base不同的设置https://img2024.cnblogs.com/blog/1797017/202407/1797017-20240703095240548-384203462.png
https://img2024.cnblogs.com/blog/1797017/202407/1797017-20240703095437172-126164888.png
 
5.项目中就可以读取到这些设置了 四、补充1.用户在用java连接apollo时,必要创建app.properties:在apollo设置中心中存在AppId,这是每一个项目的唯一标识,因此app.properties内必要确定,你必要使用哪个项目的设置信息-----》直接在application-dev.yml中:app:id: basedata apollo-env.properties:用来设置不同环境访问不同的apollo设置中心的,apollo答应用户设置四个不同的环境,分别是dev-开发环境,fat-功能测试环境,uat-用户测试环境, pro-生产环境-----》apollo:meta: http://localhost:8080/application-fat.yml是8081 2.spring Eureka注册中心http://localhost:8080/https://img2024.cnblogs.com/blog/1797017/202407/1797017-20240703094027990-1125400854.png
表示apollo启动成功apollo默认有8080、8090和8070三个端口 3.Apollo缓存Apollo客户端会把从服务端获取到的设置在本地文件系统缓存一份,用于在遇到服务不可用,或网络不通的时间,依然能从本地恢复设置,不影相应用正常运行。 本地缓存路径位于C:\opt\data\https://img2024.cnblogs.com/blog/1797017/202407/1797017-20240703095543761-539566809.png
https://note.youdao.com/yws/res/8199/07FE4048F01B4F228C9732BA879F1F0Aapollo所有设置会写在这个缓存文件中 翻译
搜刮
复制

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Springboot整合Apollo框架