Apollo 配置中心部署注意事项

摘要:
2019年12月,我写了一篇关于阿波罗配置中心初步探索的文章。当时我刚刚接触到Apollo,使用起来不是很熟练,只是快速部署了一下,后来我还转载了一篇关于微服务架构的文章——携程Apollo配置中心架构分析,非常详细地解释了Apollo架构,让你快速掌握配置中心的核心本质。最近,随着新系统的推出,开发工程师提出了要求,需要使用阿波罗配置中心来管理配置。然后我们的运维部门迅速部署了它。

    2019 年 12 月份的时候写过一篇文章 Apollo 配置中心初探,当时刚接触 apollo,使用还不是很熟练,只是快速的部署出来了。随后在业务快速迭代的过程中,使用 apollo 的频率越来越高,了解也越来越深入。后来还转载过一篇文章微服务架构~携程Apollo配置中心架构剖析,对 Apollo 的架构解说的很详细,可以让你迅速的掌握配置中心的核心精髓。

    近期,随着新系统的上线,由开发工程师提需求,需要用 Apollo 配置中心来管理配置,然后我们运维部这边迅速的部署出来了。在部署的过程中,也遇到过一些有趣的问题,算是积累了一些经验。

     

    最开始,还是想在测试环境快速部署出来,打算用 Quick Start 的程序来启动(https://github.com/ctripcorp/apollo/wiki/Quick-Start),数据库导入之后检查8080 端口(lsof -i:8080),才发现本地的 tomcat 已经占用了 8080(结果就是 demo.sh 脚本执行报错),而且该端口还和外部系统有交互,基本不太可能更换 tomcat 的 8080 端口。此时 Apollo 和 tomcat 复用一台机器(资源有限,节约成本),如果换台机器也能避免端口冲突了。另外一种解决办法,就是换 apollo 的 8080 端口,但是 Quick Start 方式启动的服务中,端口是固定的,无法手动指定。此路不通,只能想其他办法了。

    查阅官方文档后,发现用分布式部署的包启动 apolloconfig 服务,可以指定端口(https://github.com/nobodyiam/apollo-build-scripts),下载 1.7.1 版本的三个压缩包并解压。前面的准备工作,官方和前面的文章都提到过了,就是java 环境、mysql 数据库版本、数据库导入这几步。

Apollo 配置中心部署注意事项第1张

1、如果要修改端口的话,修改配置文件

apollo-configservice/scripts/startup.sh

Apollo 配置中心部署注意事项第2张

apollo-adminservice/scripts/startup.sh

Apollo 配置中心部署注意事项第3张

apollo-portal/scripts/startup.sh

Apollo 配置中心部署注意事项第4张

2、修改apollo-configservice 服务的数据库配置文件

apollo-configservice/config/application-github.properties

Apollo 配置中心部署注意事项第5张

    修改 apollo-adminservice 服务的数据库配置

apollo-adminservice/config/application-github.properties

Apollo 配置中心部署注意事项第6张

    修改 apollo-portal 服务的数据库配置

apollo-portal/config/apollo-env.properties

Apollo 配置中心部署注意事项第7张

apollo-portal/config/application-github.properties

Apollo 配置中心部署注意事项第8张


注意:

(1) 如果修改了 apollo-configservice 端口,记得修改 apolloconfigdb 数据库中 Eureka 的地址,否则其他服务注册不上去,apolloadminservice、apolloportalservice 可以启动,但是 Apollo 界面右上角会提示系统错误。

Apollo 配置中心部署注意事项第9张

(2) 由于开发本地电脑资源不足,本地开发环境也需要用 apollo,所以测试环境的 apollo 跑了 DEV 环境和 FAT 环境。是通过分布式部署包启动的,准备apollo-configservice-fat 数据库(注意数据库是否区分大小写,建议不区分),修改了 apollo-configservice 的端口。

修改sql,生产 apollo-configservice-fat 数据库

Apollo 配置中心部署注意事项第10张

Apollo 配置中心部署注意事项第11张

cp -r apollo-configservice apollo-configservice-fat

cp -r apollo-adminservice apollo-adminservice-fat

修改了 apollo-configservice-fat 端口

vim apollo-configservice-fat/scripts/startup.sh

Apollo 配置中心部署注意事项第12张

修改了 apollo-configservice-fat 数据库配置

apollo-configservice-fat/config/application-github.properties

Apollo 配置中心部署注意事项第13张

修改了 apollo-adminservice-fat 端口

vim apollo-adminservice-fat/scripts/startup.sh

Apollo 配置中心部署注意事项第14张

修改了 apollo-adminservice-fat 数据库配置

vim apollo-adminservice-fat/config/application-github.properties

Apollo 配置中心部署注意事项第15张

(3) 注意服务启动顺序,apollo-configservice、apollo-configservice-fat、apollo-adminservice、apollo-adminservice-fat、apollo-portal。

欢迎大家关注我的微信公众号,一起学习进步!Apollo 配置中心部署注意事项第16张

留言分享你的经验....

免责声明:文章转载自《Apollo 配置中心部署注意事项》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇linux系统tomcat部署SpringBoot+vue前后端分离项目正式部署oracle数据库date类型和mysql数据库datetime类型匹配下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

树莓派安装aria2 及前端配置

https://www.alexgoldcheidt.com/raspberry-pi-aria2-web-ui/?__cf_chl_captcha_tk__=79b7cacad41c7817f12080af5a4577d57b69f8e7-1580699959-0-ATVbJrKXxCiy9LLCVTE6GmOHPg9McpbhF8g5ntiwIvJ2n...

C++ ORM ODB入门

1.ORM ORM, Object Relational Mapping, 对象关系映射,用来将基于对象的数据结构映射到SQL的数据结构中。即将基于对象的数据映射到关系表中的字段,然后我们可以通过对象提供的接口来操作数据库,而无需写sql语句来操作数据库。一般一张关系表对应两个类,一个实体类和一个操作类。ORM是一种框架,而不是一种实现。 2.C++ 的O...

PG-表空间管理

2.5 表空间 PostgreSQL中的表空间允许数据库管理员在文件系统中定义用来存放表示数据库对象的文件的位置。一旦被创建,表空间就可以在创建数据库对象时通过名称引用。 表空间也是数据库集簇的一部分 并且不能被视作数据文件的一个自治集合。 它们依赖于包含在主数据目录中的元数据,并且因此不能被附加到一个不同的数据库集簇或者单独备份。 当初始化数据库集簇($...

vue+axois 封装请求+拦截器(请求锁+统一处理错误码)

 需求  封装常用请求  拦截器-请求锁  统一处理错误码 一、封装常用的请求   解决痛点:不要每一个模块的api都还要写get,post,patch请求方法。直接将这些常用的方法封装好。   解决方案:写一个类,封装好常用的请求   部分源码如下 export default class PublicAPI { constructor(ur...

pg数据库的备份和恢复

1 备份恢复方法 sql转储 文件系统级备份 连续归档 2 sql转储 sql转储方法的思想就是创建一个由SQL命令组成的文件,当把这个文件返回数据库时候,数据库利用其中的sql命令重建与转储状态一样的数据库实例。postgresql提供的工具是pg_dump,这个工具的基本用法如下: 备份:pg_dump dbname > outfile 恢复...

【SQL注入】之SQLMAP工具的使用

(本文仅为平时学习记录,若有错误请大佬指出,如果本文能帮到你那我也是很开心啦) 一、介绍 1.SQL注入工具:明小子、啊D、罗卜头、穿山甲、SQLMAP等等 2.SQLMAP:使用python开发,开源自动化注入利用工具,支持12种数据库 ,在/plugins/dbms中可以看到支持的数据库种类,在所有注入利用工具中它是最好用的!!! 3.支持的注入类型:...