Springboot整合Apollo

news/2024/10/6 3:29:35/文章来源:https://www.cnblogs.com/muxisc/p/18280971
一、Apollo作用
随着程序功能的日益复杂,程序的配置日益增多:各种功能的开关、参数的配置、服务器的地址……
对程序配置的期望值也越来越高:配置修改后实时生效,灰度发布,分环境、分集群管理配置,完善的权限、审核机制……
在这样的大环境下,传统的通过配置文件、数据库等方式已经越来越无法满足开发人员对配置管理的需求。
Apollo配置中心应运而生!Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,具备规范的权限、流程治理等特性。
 
二、搭建Apollo配置中心
Quick Start:能够在几分钟内在本地环境部署、启动Apollo配置中心(只针对本地测试使用)
1.创建数据库
Apollo服务端共需要两个数据库:ApolloPortalDB和ApolloConfigDB
-- 数据库ApolloConfigDB 导入apolloconfigdb.sql
select `NamespaceId`, `Key`, `Value`, `Comment` from ApolloConfigDB.Item;
-- 数据库ApolloPortalDB 导入apolloportaldb.sql
select `Id`, `AppId`, `Name` from ApolloPortalDB.App;
 
2.Apollo服务端连接这两个数据库
修改demo.sh
# apollo config db info
apollo_config_db_url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
apollo_config_db_username=xxx
apollo_config_db_password=xxx
 
# apollo portal db info
apollo_portal_db_url=jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8
apollo_portal_db_username=xxx
apollo_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.xml
com.ctrip.framework.apollo
apollo-client
1.1.1
 
2.编写application.yml文件
application-dev.yml:
# Apollo 配置管理
app:
id: basedata
apollo:
meta: http://localhost:8080
bootstrap:
enabled: true
namespaces: application, base
eagerLoad:
enabled: true
 
3.springboot启动类添加注解@EnableApolloConfig
 
4.登录Apollo平台添加配置并发布
http://localhost:8070/apollo/admin
创建项目:appId
添加配置项:key/value、选择集群
发布:只有发布过的配置文件才会被客户端获取到,该发布只会作用于当前环境:DEV
 
Apollo配置:

比如basedata:
公共的配置:去引用base应用的配置,继承base,自己改写会覆盖
私有的配置:application
文本可以查看自己改写的,和base不同的配置

 

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/

表示apollo启动成功
apollo默认有8080、8090和8070三个端口
 
3.Apollo缓存
Apollo客户端会把从服务端获取到的配置在本地文件系统缓存一份,
用于在遇到服务不可用,或网络不通的时候,依然能从本地恢复配置,不影响应用正常运行。
 
本地缓存路径位于C:\opt\data\

basedata+default+base.properties
apollo所有配置会写在这个缓存文件中
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/736696.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

7月3日龙城新闻快报

龙城街道共有花园小区137个,为全市各街道最多,其中老旧小区37个,老旧小区居民约1.3万户近6万人。自市、区工作部署以来,聚焦37个老旧小区居民“出行难”问题,龙城街道组织“加梯服务队”以“加强精细治理、提升品质生活、感受城市温度”为目标,开启加装电梯工作“加速度”…

Cesium 实现可视域分析

*前言:尝试了网上好多个版本的可视域分析,感觉都有一些问题,我这个也可能不是最完美的,但是我觉得对我来说够用了,实现效果如下*此示例基于vue3上实现,cesium版本1.101.0 ,vite-plugin-cesium版本1.2.22 新建一个名为ViewshedAnalysis.js的JS文件 import glsl from ./…

从PDF到OFD,国产化浪潮下多种文档格式导出的完美解决方案

前言 近年来,中国在信息技术领域持续追求自主创新和供应链安全,伴随信创上升为国家战略,一些行业也开始明确要求文件导出的格式必须为 OFD 格式。OFD 格式目前在政府、金融、税务、教育、医疗等需要文件开放、共享和长期保存的行业中广泛应用。这种趋势在未来几年内将进一步…

Percona Toolkit 神器全攻略(监控类)

Percona Toolkit 神器全攻略(监控类)Percona Toolkit 神器全攻略系列共八篇,前文回顾:前文回顾Percona Toolkit 神器全攻略Percona Toolkit 神器全攻略(实用类)Percona Toolkit 神器全攻略(配置类)全文约定:$为命令提示符、greatsql>为GreatSQL数据库提示符。在后续…

手把手带你使用JWT实现单点登录

JWT(英文全名:JSON Web Token)是目前最流行的跨域身份验证解决方案之一,今天我们一起来揭开它神秘的面纱! 一、故事起源 说起 JWT,我们先来谈一谈基于传统session认证的方案以及瓶颈。 传统session交互流程,如下图:当浏览器向服务器发送登录请求时,验证通过之后,会将…

如何通过文档外发管控系统,实现重要数据的高效流转?

文档外发管控是指企业或组织对其内部文档的外发流程进行管理和控制的一系列措施,目的是为了保护企业的知识产权、商业秘密和客户信息等敏感数据。通常需要注意以下几个方面: 1.权限管理:确保只有授权人员可以访问和外发文档; 2.审批流程:外发文档前需要经过一定的审批流程…

人工智能产业综合标准化体系

人工智能产业综合标准化体系 https://mp.weixin.qq.com/s/dRjOjag2fKww1Trn8tJR7A参考文献链接 https://mp.weixin.qq.com/s/dRjOjag2fKww1Trn8tJR7A人工智能芯片与自动驾驶

免费ACME证书申请接口:可以简化SSL/TLS证书申请

ACME证书申请接口:简化SSL/TLS证书获取的利器在当今互联网安全日益受到重视的背景下,HTTPS已成为网站安全通信的标配。而HTTPS的核心在于SSL/TLS证书,它能够确保数据传输的完整性和安全性。然而,传统的手动创建和安装证书流程复杂且耗时,不利于网站的快速部署和安全更新。…

VuePress 的更多配置

除了插件,VuePress 自身也有很多有用的配置,这里简单说明下。08.更多配置 现在,读者应该对 VuePress、主题和插件等有了基本的认识,除了插件,VuePress 自身也有很多有用的配置,这里简单说明下。 ‍ ‍ VuePress 的介绍 在介绍了 VuePress 的基本使用、主题和插件的概念之…

如何解决大文件传输存在的痛点,实现高效流转?

在当代的数字化时代,数据资产在各行各业中扮演着举足轻重的角色,而数据的流通与交换则是其价值得以实现的关键。企业在进行大文件传输时,都面临着诸多挑战,比如网络延迟、大小受限、安全风险等。因此,如何高效安全的进行大文件传输,成为企业需要迫切解决的难题。在选择大…

VMware ESXi 8.0U3 macOS Unlocker OEM BIOS ConnectX-3 网卡定制版 (集成驱动版)

VMware ESXi 8.0U3 macOS Unlocker & OEM BIOS ConnectX-3 网卡定制版 (集成驱动版)VMware ESXi 8.0U3 macOS Unlocker & OEM BIOS ConnectX-3 网卡定制版 (集成驱动版) VMware ESXi 8.0U3 macOS Unlocker & OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版) 发布 …

7.1 ~ 7.7

本部7.1 搬了校区。 发现我们虽然是在西扩上课,但宿舍还是老校区的 \(12\) 人宿舍,输。 不过教学楼好玩的东西还是挺多的。 本来我们是和化奥组一个班,但因为物奥集训 && 我们班人数过多 (\(69\)) 把我们和生奥放在了一起; 然后我们名义上的班主任还是张华,各种老…