Apollo本地快速部署

news2025/1/20 16:31:50

GitHub项目地址

Gitee项目地址

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

Apollo 与 properties 配置文件的功能相同,都可以设置参数。Apollo 的优点在于,可以实时修改参数的值,而不需要重启项目。

1 环境准备

需要 Java 1.8 及以上,MySQL 5.6 及以上的版本。

MySQL安装配置方式:https://mp.weixin.qq.com/s/ISCjsIpmccVnuvXPkiFLMw

如果只是本地测试的话,推荐使用 GitHub 上的开源项目 Apollo Quick Start;

安装包下载地址:https://pan.baidu.com/s/11dYV5x1Qu7svEGaJLShoqQ?pwd=6666

提取码:6666

2 SQL 导入

下载并解压安装包 apollo-quick-start-2.0.1.zip,可以看到目录下有 sql 文件夹,里面有 apolloconfigdb.sql 和 apolloportaldb.sql 两个文件,需要将这两个文件导入 MySQL中。

打开 win 菜单中的 MySQL 8.0 Command Line Client - Unicode 命令,

运行:

source D:\Apollo\apollo-quick-start-2.0.1\sql\apolloconfigdb.sql
source D:\Apollo\apollo-quick-start-2.0.1\sql\apolloportaldb.sql

D:\Apollo 是我存放 apollo-quick-start-2.0.1 文件夹的路径。

即可完成导入。

导入成功后,可以通过执行以下sql语句来验证:

select `NamespaceId`, `Key`, `Value`, `Comment` from ApolloConfigDB.Item;

有以下输出,表示导入成功。

3 启动 Apollo

编辑 apollo-quick-start-2.0.1文件夹下的 demo.sh,修改 ApolloPortalDB 和 ApolloConfigDB 相关的数据库连接配置信息。

#apollo config db info
apollo_config_db_url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
apollo_config_db_username=root
apollo_config_db_password=root

# apollo portal db info
apollo_portal_db_url=jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8
apollo_portal_db_username=root
apollo_portal_db_password=root

我的数据库的账号密码均为 root。

找到 demo.sh 的第72行,将 cd "${0%/*}" 改为当前路径:

cd D:\\Apollo\\apollo-quick-start-2.0.1\\

打开 win 菜单中的 Git Bash,运行 demo.sh 。

D:\\Apollo\\apollo-quick-start-2.0.1\\demo.sh start

等待运行一段时间后,当看到如下输出,就说明启动成功了。

==== starting service ====
Service logging file is ./service/apollo-service.log
Started [10768]
Waiting for config service startup.......
Config service started. You may visit http://localhost:8080 for service status now!
Waiting for admin service startup....
Admin service started
==== starting portal ====
Portal logging file is ./portal/apollo-portal.log
Started [10846]
Waiting for portal startup......
Portal started. You can visit http://localhost:8070 now!

访问 http://localhost:8070 ,输入用户名 apollo,密码 admin,即可登录。

停止运行命令:

D:\\Apollo\\apollo-quick-start-2.0.1\\demo.sh stop

4 使用 Apollo

点击创建应用:

输入自定义的参数:

即可创建成功。然后在新创建的应用中增加配置:

5 项目实例

下载一个测试项目 learn-apollo

GitHub地址:https://github.com/Snowstorm0/learn-apollo

Gitee地址:https://gitee.com/Snowstorm0/learn-apollo

在运行项目之前需要修改 resource/application.properties 中 apollo.meta 的值,将 localhost 替换为 apollo 的地址,端口号为 Eureka 的端口号(默认为8080)。

新增并发布如下三个参数:

learn-apollo 是一个定时任务,可以每隔5秒输出一次apollo的参数信息。

运行该项目,输出:

paramStr:str1

然后在apollo中修改参数的值,将str1改为str2

不需要重启项目,此时项目会输出参数更新的日志信息:

[Apollo-Config-1] c.f.a.s.p.AutoUpdateConfigChangeListener : 
Auto update apollo changed value successfully, 
new value: paramStr7, key: param.paramStr, beanName: myService, 
field: com.spring.boot.service.MyService.paramStr

项目的输出也变了:

paramStr:str2

 
 

学习更多编程知识,请关注我的公众号:

代码的路

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【计算机网络-数据链路层】介质访问控制协议(MAC协议)

文章目录1 静态划分信道——信道划分 MAC 协议1.1 频分多路复用(FDM)——“并行”1.2 时分多路复用(TDM)——“并发”1.2.1 同步时分多路复用1.2.2 异步时分多路复用1.3 波分多路复用(WDM)1.4 码分多路复用…

数据结构进阶 AVL树

作者:小萌新 专栏:数据结构进阶 作者简介:大二学生 希望能和大家一起进步! 本篇博客简介:介绍高阶数据结构:AVL树 AVL树AVL树的概念AVL树节点类的定义AVL树的插入AVL树的旋转左单旋右单旋左右双旋右左单旋AVL树的验证…

多线程适用接口及常见类

日升时奋斗,日落时自省 目录 1、Callable接口 1.1、Callable方式 1.2、非Callable方式 2、JUC(java.util.concurrent)的常见类 2.1、ReentrantLock 2.2、信号量Semaphore 2.3、CountDownLatch 3、线程安全的集合类 3.1、多线程使用A…

【SpringMVC】使用SpringMVC处理JSON格式的数据

目录 一、前言 二、ResponseBody 三、RequestBody 四、HttpMessageConverter 相关文章(可以关注我的SpringMVC专栏) SpingMVC专栏SpingMVC专栏一、前言我们在使用Servlet处理前端请求,使用Json格式的数据,通常引入外部提供的一些…

拉伯证券|利好来了,145万手封涨停!低位+低市值“无主”股揭秘

二三四五或将完毕多年“无主”局势。 周末大消息不断。蚂蚁集团1月7日在官网发布关于持续完善公司管理的公告。公告显现,蚂蚁集团调整首要股东投票权,强化与阿里巴巴集团的隔离,阿里巴巴开创人马云抛弃了对蚂蚁集团的实践操控权,蚂…

JavaScript 原型链

文章目录原型链本质 - 对象间的关联关系instanceof 和 isPrototypeOf__proto__的大致实现委托原型链 原型链就是一系列对象的链接。通常来说,这个链接的作用是:如果在对象上没有找到需要的属性或者方法引用,引擎就会继续在[[Prototype]]关联的…

餐饮业数字化提速,OceanBase助海底捞变身“云上捞”

在海底捞火锅智慧餐厅,你会看到忙得团团转的机械臂和传菜机器人,顾客在智能点餐系统上下单,机械臂和传菜机器人就会着手备菜、传菜、上菜,服务人员则有更多时间专心应答顾客的各种询问。这种新模式,也为海底捞家喻户晓…

Springboot新手开发 基本总结

前言: 👏作者简介:我是笑霸final,一名热爱技术的在校学生。 📝个人主页:个人主页1 || 笑霸final的主页2 📕系列专栏:后端专栏 📧如果文章知识点有错误的地方,…

网络实验之HSRP协议

一、HSRP协议简介 HSRP:热备份路由器协议(HSRP:Hot Standby Router Protocol),是cisco平台一种特有的技术,是cisco的私有协议。该协议中含有多台路由器,对应一个HSRP组。该组中只有一个路由器承…

mac自定义环境变量,mac自定义python变量,自定义通用变量(任意名字)

文章目录几个常用的命令工作原理知道原理后已经有了环境变量没有该环境变量几个常用的命令 功能命令查看当前环境变量echo $PATH编辑文件(注:这里是直接编辑bash_profile)vi ~/.bash_profile编辑i退出编辑esc回到命令(用命令来保…

Apollo实现cron语句的热配置

GitHub项目地址 Gitee项目地址 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适…

stl algorithms 算法

所有泛型算法,除了少数例外,前两个参数均为一组iterator,用来标识欲遍历容器元素的范围,范围从第一个iterator所指位置开始,至第二个iterator所指位置(并不包括)结束 如 int arr[3]{1,2,3} ve…

管理客户信息并非易事

客户信息是企业的重要资产,是企业日积累月的价值沉淀,管理客户信息对于企业来说并不是一件容易的事,只有妥善管理客户信息,才能为企业创造更多价值。前言众所周知,客户信息是企业的重要资产,是企业日积累月…

rtu遥测终端机应用及安装介绍

1、设备介绍 设备集遥测终端机功能和视频录像机功能为一体,融合先进的3G/4G/WIFI通信技术、实现水文/水资源/环保212/TCP Modbus/MQTT等数据的采集、视频、图像存储、显示、控制、报警及传输等智能值守功能。 2、设备应用方向 本设备可广泛适用于带视频监测的水…

Jenkins 构建过程中提示 GPG 错误

错误信息如下:[INFO] --- maven-gpg-plugin:3.0.1:sign (sign-artifacts) rets-io --- gpg: no default secret key: No secret keygpg: signing failed: No secret key这个问题的原因应该是我们最近把我们的项目发布到中央 Maven 仓库中,但是发布项目到…

社区发现系列05:图的构建

想要挖掘作弊团伙首先先要构建社交网络图,然后用算法或者策略挖掘作弊团伙,那么如何构建社交网络图呢?下面给大家介绍一些实战经验,主要从电商和互金小额贷款两个业务场景来说: 1、电商业务 由于电商业务涉及的业务场…

《Spring揭秘》读书笔记1:IoC和AOP

1 Spring框架的由来 Spring框架的本质:提供各种服务,以帮助我们简化基于POJO的Java应用程序开发。 各种服务实现被划分到了多个相互独立却又相互依赖的模块当中: Core核心模块:IoC容器、Framework工具类。 AOP模块:S…

万物皆可灵活用工?灵活用工模式最契合的行业是哪些?

灵活用工VS传统用工 1)传统用工 企业与员工签订劳动合同,双方出现问题纠纷适用于劳动法,关系固定,企业责任大。养着你,难,辞了你,更难。企业成本相对较高、负担较重(薪资、福利&am…

Hudi的核心概念 —— 表类型(Table Types)

文章目录Copy On WriteMerge On ReadCOW 与 MOR 的对比查询类型(Query Types)Snapshot QueriesIncremental QueriesRead Optimized Queries不同表支持的查询类型Copy On Write 在 COW 表中,只有数据文件/基本文件(.parquet&#…

【Java寒假打卡】Java基础-集合HashSet

【Java寒假打卡】Java基础-集合Set概述哈希值hashSet原理HashSet存储学生对象并遍历小结概述 底层数据结构是哈希表不能保证存储和去除的顺序完全一致没有带索引的方法,所以不能使用普通的for循环进行遍历 使用增强for循环或者迭代器进行遍历由于是Set集合&#xf…