前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Apollo配置中心源码编译及搭建

Apollo配置中心源码编译及搭建

作者头像
BUG弄潮儿
发布2020-08-04 10:23:53
8080
发布2020-08-04 10:23:53
举报
文章被收录于专栏:JAVA乐园JAVA乐园

阅读文本大概需要3分钟。

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。目前从官网看Apollo提供了Java和.Net的客户端接入sdk。

代码语言:javascript
复制
https://github.com/ctripcorp/apollo/

0x01:下载Apollo源码并导入eclipse

使用如下命令下载源码

代码语言:javascript
复制
git clone https://github.com/ctripcorp/apollo/

导入eclipse

0x02:创建数据库

Apollo服务端共需要两个数据库:ApolloPortalDB和ApolloConfigDB。所需的SQL脚本位于如下目录

ApolloPortalDB如下:

ApolloConfigDB如下:

0x03: 手动打包

先手动对Apollo进行一次打包,把对应的jar都安装到本地Maven,方便下一步进行Apollo启动,修改apollo-configservice、apollo-adminservice和apollo-portal的pom.xml,注释掉spring-boot-maven-plugin和maven-assembly-plugin,在根目录下执:

代码语言:javascript
复制
mvn clean package -pl apollo-assembly -am -DskipTests=true

0x04:Apollo Config Service和Apollo Admin Service启动

在本地开发时,一般会在IDE中同时启动apollo-configservice和apollo-adminservice。Apollo可以同时启动apollo-configservice和apollo-adminservice,同时启动时使用ApolloApplication类

代码语言:javascript
复制
com.ctrip.framework.apollo.assembly.ApolloApplication

另外,如果希望独立启动apollo-configservice和apollo-adminservice,可以把Main Class分别换成:

代码语言:javascript
复制
com.ctrip.framework.apollo.configservice.ConfigServiceApplication
com.ctrip.framework.apollo.adminservice.AdminServiceApplication

配置com.ctrip.framework.apollo.assembly.ApolloApplication类

配置

Vm options 配置

代码语言:javascript
复制
-Dapollo_profile=github
-Dspring.datasource.url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
-Dspring.datasource.username=root
-Dspring.datasource.password=root
-Dlogging.file=d:/log/apollo-assembly.log
  • datasource相关配置替换成你自己的数据库连接信息,注意数据库是ApolloConfigDB
  • 程序默认日志输出为/opt/logs/100003171/apollo-assembly.log,如果需要修改日志文件路径,可以增加logging.file参数,如下:
代码语言:javascript
复制
-Dlogging.file=d:/log/apollo-assembly.log

Program arguments 配置

代码语言:javascript
复制
--configservice --adminservice

启动完后,打开http://localhost:8080可以看到apollo-configservice和apollo-adminservice都已经启动完成并注册到Eureka。

0x05:启动Apollo-Portal

启动Apollo-Portal需要用到PortalApplication类

代码语言:javascript
复制
com.ctrip.framework.apollo.portal.PortalApplication

配置PortalApplication类

配置:

代码语言:javascript
复制
-Dapollo_profile=github,auth
-Ddev_meta=http://localhost:8080/
-Dserver.port=8070
-Dspring.datasource.url=jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8
-Dspring.datasource.username=root
-Dspring.datasource.password=root

默认ApolloPortalDB中导入的配置只会展示DEV环境的配置,所以这里配置了dev_meta属性,如果你希望在本地展示其它环境的配置,需要在这里增加其它环境的meta服务器地址,如fat_meta。启动完后,打开http://localhost:8070就可以看到Apollo配置中心界面了,默认账号密码apollo/admin。

登录后

参考:https://github.com/ctripcorp/apollo/wiki/Apollo开发指南

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 BUG弄潮儿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档