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

简介: Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

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


https://github.com/ctripcorp/apollo/


微信图片_20220501225054.png


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


使用如下命令下载源码


git clone https://github.com/ctripcorp/apollo/


导入eclipse

image.gif

微信图片_20220501225059.png


0x02:创建数据库


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


微信图片_20220501225104.png


ApolloPortalDB如下:


微信图片_20220501225108.png


ApolloConfigDB如下:


微信图片_20220501225113.png


0x03: 手动打包


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


mvn clean package -pl apollo-assembly -am -DskipTests=true


微信图片_20220501225117.png

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


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


com.ctrip.framework.apollo.assembly.ApolloApplication

   

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


com.ctrip.framework.apollo.configservice.ConfigServiceApplication
com.ctrip.framework.apollo.adminservice.AdminServiceApplication


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


微信图片_20220501225123.png


配置


微信图片_20220501225128.png


Vm options 配置


-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参数,如下:


-Dlogging.file=d:/log/apollo-assembly.log


Program arguments 配置


--configservice --adminservice


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

image.gif

微信图片_20220501225134.png


0x05:启动Apollo-Portal


启动Apollo-Portal需要用到PortalApplication类


com.ctrip.framework.apollo.portal.PortalApplication


配置PortalApplication类


微信图片_20220501225138.png


配置:


微信图片_20220501225142.png


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


微信图片_20220501225146.png


登录后


微信图片_20220501225150.png


参考:https://github.com/ctripcorp/apollo/wiki/Apollo开发指南
相关文章
|
4天前
|
并行计算 Ubuntu Docker
apollo快速入门之安装指南
apollo快速入门之安装指南
28 3
|
SpringCloudAlibaba Java 应用服务中间件
信创迁移适配实战-SpringCloudAlibaba服务以war包部署后无法注册到Nacos
信创迁移适配实战-SpringCloudAlibaba服务以war包部署后无法注册到Nacos
632 0
|
4天前
|
数据可视化 定位技术 Docker
apollo安装指南之安装示例工程
apollo安装指南之安装示例工程
23 5
|
6月前
|
Java 关系型数据库 MySQL
分布式系列教程(18) -分布式配置中心Apollo安装与详解
分布式系列教程(18) -分布式配置中心Apollo安装与详解
213 0
|
4天前
|
前端开发 jenkins 持续交付
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)-3
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)
73 0
|
4天前
|
前端开发 Java jenkins
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)-1
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)
56 0
|
10月前
|
存储 监控 前端开发
手把手教你搭建SpringCloud项目(十四 )集成Config分布式配置中心
手把手教你搭建SpringCloud项目(十四 )集成Config分布式配置中心
104 1
|
10月前
|
存储 XML JSON
【Java项目】SpringBoot项目如何从自研配置中心拉取配置
【Java项目】SpringBoot项目如何从自研配置中心拉取配置
161 0
|
10月前
|
安全 网络协议 Java
IDEA 集成 Docker 插件实现一键远程部署 SpringBoot 应用,无需三方依赖,开源微服务全栈有来商城线上部署方式
IDEA 集成 Docker 插件实现一键远程部署 SpringBoot 应用,无需三方依赖,开源微服务全栈有来商城线上部署方式
|
缓存 负载均衡 Dubbo
新版Dubbo环境编译及搭建一文搞定
Dubbo(读音[ˈdʌbəʊ])是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。 Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。 本文主要讲解Dubbo环境的搭建,包括常用组件的配置等
1025 1
新版Dubbo环境编译及搭建一文搞定