3修改环境_apollo配置中⼼添加⾃定义环境
1. apollo部署bootstrap项目
本次部署环境为DEV(开发环境)、SIT(集成测试环境)、UAT(⽤户验收测试环境)、PRO(⽣产环境),采⽤apollo版本为1.4.0,相关的部署
⽂档可参考官⽹。
2. apollo项⽬介绍
Apollo()是携程框架部门研发的分布式配置中⼼,能够集中化管理应⽤不同环境、不同集的配置,配置修改后能够实时推送到应⽤
端,并且具备规范的权限、流程治理等特性,适⽤于微服务配置管理场景。
apollo主要项⽬如下:
apollo-configservice:提供配置获取接⼝,提供配置更新推送接⼝,接⼝服务对象为Apollo客户端。
apollo-adminservice:提供配置管理接⼝,提供配置修改、发布等接⼝,接⼝服务对象为Portal,以及Eureka。
apollo-portal:提供Web界⾯供⽤户管理配置。
apollo-client:Apollo提供的客户端程序,为应⽤提供配置获取、实时更新等功能。
3.⾃定义apollo环境
⾃定义⼀个apollo部署环境也很简单,⽐如我们加⼊⼀个SIT环境,我们需要进⾏如下操作:
1. 修改apollo-core项⽬,ip.nums.Env,在其中加⼊SIT枚举:
public enum Env{ LOCAL, DEV, FWS, FAT, UAT, LPT, PRO, TOOLS, UNKNOWN,SIT; ........}
2.修改apollo-core项⽬,ip.nums.EnvUtils,在其中加⼊SIT枚举的转换逻辑:
public final class EnvUtils { //新增SIT环境规则public static Env transformEnv(String envName) {if (StringUtils.isBlank(envName)) {return Env.UNKNOWN;}switch (e
3.修改apollo-core项⽬,ip.internals.LegacyMetaServerProvider类,增加读取SIT环境的meta server
地址逻辑:
public class LegacyMetaServerProvider implements MetaServerProvider { // make it as lowest as possible, yet not the lowest public static final int ORDER
4. 修改log⽇志⽂件⽣成路径:
修改apollo-adminservice项⽬下/script/startup.sh,⽇志路径替换为:LOG_DIR=/usr/local/nlp/logs/apollo-adminservice/100003172。修改apollo-configservice项⽬下/
经过如上四步我们完成了SIT环境的添加。
4.apollo打包
由于我们存在DEV,UAT,SIT,PRO四套环境,apollo-configservice,apollo-adminservice项⽬需要切换四次环境打包。apollo-portal项⽬
只需打包⼀次。
#dev 环境mvn clean package -DskipTests -pl apollo-configservice,apollo-adminservice -am -Dapollo_profile=github -Dspring_datasource_url=jdbc:mysql://10.xxx.
5.apollo部署
在⾃⼰的服务器上新建⼀个⽬录 /usr/local/wxt/apollo_xxx/ 将官⽅提供的安装包直接下载到这个⽬录下,然后解压:
unzip apollo-adminservice-1.4.0-github.zip -d apollo-adminservice-1.4.0-githubunzip apollo-configservice-1.4.0-github.zip -d apollo-configservice-1.4.0-githubunzi
6. 启动项⽬
在每⼀个⼯程的解压包中,都有⼀个 scripts ⽂件夹,这⾥⾯是 Apollo ⼯程的启动脚本。三个⼯程分别先后启动:apollo-
configservice、apollo-adminservice、apollo-portal,就是分别执⾏这三个⼯程下⾯的 /scripts/startup.sh 脚本即可,关闭执⾏的是
7. apollo 客户端调⽤规则
apollo meta由核⼼服务统⼀进⾏了封装,各服务只需在pom⽂件引⼊microservice-apollo服务即可。
1.导包
com.wxt microservice-apollo
2.新增配置⽂件
新增l,引⼊apollo相关配置
app: id: microservice-gateway #从服务端获取配置的唯⼀标识apollo: cacheDir: /usr/local/wxt/config-data #本地缓存路径 bootstrap
app.id 是应⽤的唯⼀⾝份标识,Apollo客户端使⽤这个标识来获取应⽤⾃⼰的私有Namespace配置。
apollo.cacheDir 为本地环境配置路径。
apollo.bootstrap.namespaces 获取远端配置,多个时逗号分隔。
3.修改启动项
修改启动项新增如下注解:
@EnableApolloConfigpublic class MicroserviceGatewayApplication {...........}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论