0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Apollo本地快速部署

Java开发 来源:代码的路 作者:代码的路 2023-01-13 15:45 次阅读

原文链接

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

需要注意,apollo 端口号为8070,但在 Java 工程的 properties 中, apollo.meta设置的端口号应为 Eureka 的端口号8080。

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)。

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

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
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • JAVA
    +关注

    关注

    19

    文章

    2904

    浏览量

    102995
  • MySQL
    +关注

    关注

    1

    文章

    775

    浏览量

    26006
  • Apollo
    +关注

    关注

    5

    文章

    326

    浏览量

    18294
收藏 人收藏

    评论

    相关推荐

    赛思互动:浅析CRM Online与CRM本地部署的区别

    本地部署解决方案中进行选择(如果不知道什么是云部署什么是本地部署请自行补脑)。对于两种解决方案在过渡时间,功能完善性和延展性等问题的思考往
    发表于 08-04 09:20

    快速工业物联网传感器是怎么部署的?

    工业物联网数据模拟的局限性有哪些?快速工业物联网传感器是怎么部署的?
    发表于 06-10 13:51

    如何对Apollo2.5 CANBUS进行全面调试?

    前言:CANBUS是Apollo需要根据你的底盘写代码的地方,感觉也是Apollo最难调试的部分。这部分首先要选好CAN卡,因为不是Apollo推荐的CAN卡,驱动程序和对应接口,可能都需要自己调整
    发表于 08-30 06:02

    嵌入式Linux版本Qt5.4快速部署的相关资料分享

    (Toradex Apalis iMX6)基于Embedded Linux快速部署做较详细说明。嵌入式Linux版本Qt5.4快速部署--- by Toradex 秦海Qt是一个领先的
    发表于 11-05 08:19

    Ambiq Apollo4的相关资料推荐

    今天翻官方的网站,发现了 Apollo4 的链接。从其中下来Apollo3-Apollo4-SDK-2020.06.20,发现了\boards\apollo4_eb\examples\u***\tinyu***_cdc这个不错,
    发表于 12-13 08:30

    Apollo Heritage版音频接口附带的插件

     Universal Audio在去年推出的Apollo Heritage版音频接口提供了5个或10个获奖的UAD插件,包括Teletronix®、Fairchild®、Pultec®、Helios
    发表于 01-24 08:59

    DIGIPCBA的平台是否支持将云平台部署本地服务器

    DIGIPCBA的平台是否支持将云平台部署本地服务器,只对本地的内部人员开放
    发表于 06-22 14:13

    怎么解决Ambiq Apollo3移植链接脚本出错的问题呢?

    移植Apollo3过程中发现官方工程都使用专用的sct脚本,写法跟MDK默认生成的格式不同。不知道怎么修改内存映射关系。默认MDK生成的是 RW_IRAM1则是定义 #define
    发表于 03-14 10:43

    本地测试环境搭建

    本文主要介绍了本地测试环境搭建搭建一个本地测试环境无疑是个明智的选择,再结合GitHub、Jenkins、Docker等工具,进行持续集成、资源隔离,既可以快速的构建、部署自己的项目,
    的头像 发表于 01-31 16:01 2622次阅读
    <b class='flag-5'>本地</b>测试环境搭建

    冯宗宝为开发者带来Apollo开放技术快速入门的分享

    安装Apollo时,需要一台运行Ubuntu的机器;Apollo的编译需要一个Docker环境,这需要在Ubuntu系统中安装Docker,因为Apollo需要运行在Docker所创建的容器当中。创建容器所依赖的镜像,由
    的头像 发表于 07-10 15:24 4359次阅读

    apollo系列之apollo2 mcu开发(基础篇)之1.1-apollo2 mcu简介

    更多内容在:apollo系列汇总Apollo2 mcu的架构
    发表于 10-25 17:36 19次下载
    <b class='flag-5'>apollo</b>系列之<b class='flag-5'>apollo</b>2 mcu开发(基础篇)之1.1-<b class='flag-5'>apollo</b>2 mcu简介

    ERP到底该选云部署还是本地部署?两种模式有什么优势?

    在过去的十余年中,ERP在中国市场经历了蓬勃的发展,但同时也在与云时代的各类新概念不断碰撞——“云化”,是每一个ERP厂商和ERP使用者无法回避的话题。那么ERP云部署本地部署两种模式各有哪些优势
    的头像 发表于 09-29 20:29 950次阅读

    如何本地部署大模型

    近期,openEuler A-Tune SIG在openEuler 23.09版本引入llama.cpp&chatglm-cpp两款应用,以支持用户在本地部署和使用免费的开源大语言模型,无需联网也能使用!
    的头像 发表于 10-18 11:48 1678次阅读
    如何<b class='flag-5'>本地</b><b class='flag-5'>部署</b>大模型

    基于Docker-Compose的Apollo部署安装与使用

    为什么选择 Apollo:稳定&简单,虽然比不上 Nacos 的性能,也没有服务发现功能,但是稳定啊!!! 在我自己部署前,会觉得这个东西好难,好重,好麻烦。写这篇文章的时候的感受只有两个字:牛*
    的头像 发表于 01-02 10:15 601次阅读
    基于Docker-Compose的<b class='flag-5'>Apollo</b><b class='flag-5'>部署</b>安装与使用

    源2.0适配FastChat框架,企业快速本地部署大模型对话平台

    北京2024年2月28日 /美通社/ -- 近日,浪潮信息Yuan2.0大模型与FastChat框架完成全面适配,推出"企业快速本地部署大模型对话平台"方案。该方案主要面向金融、法律、教育等领域
    的头像 发表于 02-29 09:57 301次阅读
    源2.0适配FastChat框架,企业<b class='flag-5'>快速</b><b class='flag-5'>本地</b>化<b class='flag-5'>部署</b>大模型对话平台