携程apollo配置中心部署与应用历程

摘要:
/opt/logs/目录e.后续升级可以通过git切换分支打包替换jar包即可2、部署由于服务器紧张所以设计了单服务器单数据库多实例的方式ps:注意mysql版本(由于测试数据库版本太低用了公司禅道的数据库=。简单强调下a.apollo的配置是优先于application.yml的properties的可查阅启动顺序。2020-10-10续上client1.3.0的版本logback一直无法迁移apollo不得不说实践出真章。至此所有配置全部迁移apollo配置中心。

本文只讲述记录公司apollo的部署和应用,前期apollo架构原理请自行查阅不再赘述

https://blog.csdn.net/u014225733/article/details/102694884

https://blog.csdn.net/xp_zyl/article/details/82111702?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

1、工程下载及编译

apollo代码官方网址:https://github.com/ctripcorp/apollo或国内镜像:https://gitee.com/nobodyiam/apollo

推荐下载release下的三个zip包部署code=》tags

携程apollo配置中心部署与应用历程第1张

携程apollo配置中心部署与应用历程第2张

a.config=》application-github.properties下是数据库连接配置

b.script下是启动和停的脚本,单服务器的关系,这里要改下startup.sh内配置的端口

c.protal下config=》apollo-env.properties 配置多环境的configservice地址

d.启动的时候出现了日志文件没有权限的问题导致启动失败,赋权即可。/opt/logs/目录

e.后续升级可以通过git切换分支打包替换jar包即可(在根目录下执行mvn clean package -pl apollo-assembly -am -DskipTests=true)

2、部署

由于服务器紧张所以设计了单服务器单数据库多实例的方式(数据库脚本不再赘述)

携程apollo配置中心部署与应用历程第3张

ps: 注意mysql版本(由于测试数据库版本太低用了公司禅道的数据库=。=禅道默认数据库开启远程连接搞了半天)

ps2:因为同一个服务器上部署的关系,shutdown.sh需要改下,可以偷懒直接kill掉如果要停服务

携程apollo配置中心部署与应用历程第4张

3、应用

client端一些注入和使用基本可以查阅到。简单强调下

a.apollo的配置是优先于application.yml的properties的可查阅启动顺序。

b.一些需要装载的如日志级别需要增加监听来重置,因为配置是实时改掉了但是装载是不会自动装载的

c.springcloud引入logback的日志组件必须增加bootstrap.yml这块如何迁入apollo待解决=。=

d.多环境的切换有两种方式参考https://blog.csdn.net/a807719447/article/details/91949659

第一种apollo-env.properties文件模式即 先说明我有几种环境然后指定哪种环境

第二种applicaition.properties直接说明我的metaserver地址是多少与spring.profiles.active一样

建议使用第二种,且优先级也是startup.sh>jar包目录下的applicaition.properties>jar包内的applicaition.properties

敲完收工~~~

4、增

a.@ConfigurationProperties注入模式无法自动更新需要配合使用EnvironmentChangeEvent或@RefreshScope

b.日志的问题https://www.jianshu.com/p/b2a6d487be3a1.3.0client版本仍然无法解决不知道什么原因待排查

手动加载的方式可解决。这样我们的配置文件就变得更加简洁将各个环境配置都迁入apollo,不足的是一些需要提前加载的需要手动加载
携程apollo配置中心部署与应用历程第5张
最后我们发现在服务器上不方便对app.properties做修改启动,于是重新引入apollo-env.properties单独对meta地址做变更
启动时用-Denv来指定切换环境,需要注意此时的spring.profiles.active只用来作为logback的打印策略。

携程apollo配置中心部署与应用历程第6张

2020-10-10 续上client1.3.0的版本logback一直无法迁移apollo(手动加载变相迁移)

不得不说实践出真章。

携程apollo配置中心部署与应用历程第7张

至此所有配置全部迁移apollo配置中心。

免责声明:文章转载自《携程apollo配置中心部署与应用历程》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇跨域请求方式之Jsonp形式mysql 导出表结构和表数据 mysqldump用法下篇

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

相关文章

.NET5 ABP框架(一)

https://aspnetboilerplate.com/ https://github.com/aspnetboilerplate/aspnetboilerplate https://aspnetboilerplate.com/Pages/Documents/Zero/Startup-Template-Core 框架特点 依赖注入 - ABP提供了...

asp.net core系列 30 EF管理数据库架构--必备知识 迁移

一.管理数据库架构概述          EF Core 提供两种主要方法来保持 EF Core 模型和数据库架构同步。一是以 EF Core 模型为基准,二是以数据库为基准。            (1)如果希望以 EF Core 模型为准,请使用迁移。 对 EF Core 模型进行更改时,此方法会以增量方式将相应架构更改应用到数据库,以使数据库保持与...

【技术贴】java插入mysql中文乱码解决|java插入mysql数据库显示问号?

【技术贴】java插入mysql中文乱码解决|java插入mysql数据库显示问号? 在你要连接到mysql 的代码里写上?useUnicode=true&characterEncoding=UTF-8" 比如 "jdbc:mysql://localhost:3306/chenluancl1?useUnicode=true&characte...

【转】为什么事务日志自动增长会降低你的性能

在这篇文章里,我想详细谈下为什么你要避免事务日志(Transaction Log)上的自动增长操作(Auto Growth operations)。很多运行的数据库服务器,对于事务日志,用的都是默认的日志文件大小和自动增长设置。人们有时会很依赖自动增长机制,因为它们刚好能正常工作。当然,如果它正常工作的话,你不必太关注它,但很快你会发现会有问题出现。 只依...

MySQL笔记——用户管理

MySQL服务的默认端口是3306 用户权限管理 关于mysql数据库中的user表:   user表是MySQL最重要的权限表之一,在用户登录就是匹配user表中的Host、User、Password这三个字段,当三个字段同时匹配时才能允许登陆。   user表中以priv结尾的字段就是决定了用户的权限,这些字段默认都是N。 关于mysql数据库中的u...

ORACLE数据库/PLSQL中文乱码问题

首先说一下乱码可能会导致的问题: 使用insert、update语句修改表数据,create、alter语句创建修改表格备注会乱码 使用decode、nvl等函数时含有中文返参会乱码 存储过程、Function中有中文编译时都会乱码,甚至备注都会乱码 导致乱码的原因: PLSQL客户端和ORACLE服务器端编码不一致 解决办法: 步骤1:查询oracle服...