Apollo搭建与实战(分布式部署)
目录
一、背景
二、Apollo的环境的搭建(分布式多环境)
三、Java程序的应用(SpringBoot)
四、总结
一、背景
最近在公司需要完成一个技术优化事项:由于SpringCloudConfig在使用上修改配置以后需要进行服务器重启的形式来进行配置变更,流程比较麻烦以及繁琐,所以需要配合运维把手头上负责的项目的配置中心SpringCloudConfig替换成Apollo作为新的注册中心。所以就想认真的学习下Apollo,做好技术储备。
二、Apollo的环境的搭建(分布式多环境)
首先Apollo的文档真的很全,强烈推荐大家直接走官方文档Apollo,也不用去看网上的一些博客,除非遇到搭建不成功的情况下,可以通过别人的博客看看是否有遗漏的地方进行查漏补缺。当然如果你觉得麻烦,不想看文档,可以直接看这篇博客讲我是怎么搭建环境以及使用的。
补充:这里讲的是分布式多环境的部署和运用,如果是QuickStart形式的搭建建议直接看文档,这里不做多的描述
(1)在搭建的过程中还是要基本了解下Apollo的组件,如果想要完整的了解具体组件定义还是需要你去看文档。
- apollo-adminservice
- 用于对管理界面提供支持的管理服务。
- apollo-config-service
- 分布式配置中心核心,提供配置的更新、客户端推拉功能。
- apollo-portal-service
- 管理界面的权限、用户相关服务,拥有自己的数据库。
(1)准备两台机器,我是直接使用ubuntu虚拟机,你也可以用linux。
(2)安装Java JDK, 这是基础,这里不再赘述。
(3)安装数据库MySql,可以使用docker一键安装,这里也不再赘述。
(4)导入DB文件,两个DB文件,一个是configDB,一个portalDB,会自动帮你创建数据库,无需新建一个库再执行SQL文件
apollo-build-scripts/apolloconfigdb.sql at master · apolloconfig/apollo-build-scripts · GitHub
apollo-build-scripts/apolloportaldb.sql at master · apolloconfig/apollo-build-scripts · GitHub
(5)安装apollo-adminservice、apollo-config-service、apollo-portal-service
https://github.com/apolloconfig/apollo/releases,通过下载地址分别下载三个安装包
也可以直接我的项目里面已经压缩好的安装包apollo-all.zip(包含三个服务)
- 安装apollo-adminservice
编辑config目录下面的application-github.properties
写上你的configDB地址
配置好了以后直接script启动。
2、apollo-config-service
同理,在config目录下面的application-github.properites配置数据库地址,然后启动即可。
3、apollo-portal-service,同样是数据库配置,不过多了apollo-env.properites的配置,配上FAT和DEV的配置
注意如果是多个环境,apollo-adminservice、apollo-config-service 需部署多套。像我就是在两台ubuntu上面分别部署apollo-adminservice和apollo-config-service。
apollo-portal-service因为是管理多套环境的,只需要部署一套就行了。
然后补全dev、fat环境参数,将所有服务启动。访问页面 http://ip地址:8070 即可访问apollo控制台
三、Java程序的应用(SpringBoot)
这里没什么好说的,上jar包
<dependency><groupId>com.ctrip.framework.apollo</groupId><artifactId>apollo-client</artifactId><version>1.9.2</version></dependency><dependency><groupId>com.ctrip.framework.apollo</groupId><artifactId>apollo-core</artifactId><version>1.9.2</version></dependency> </dependencies>
加上启动注解
上配置(注意环境区分)
就像使用其他配置中心一样的使用注解@Value即可获取数据
/*** @author chenfoxin* @Description 测试mock数据* @Date 2022/3/19 22:38**/
@RestController
@RequestMapping("/apolloMockController")
public class ApolloMockController {@Value("${spring.demo.apollo:0}")private String value;@GetMapping("/mock")public String mock(){return value;}
}
四、总结
这里只讲述了最基本的Apollo分布式的玩法(两套环境),总体来说搭建环境并不是很难,作为学习的情况下,如果需要了解更详细的apollo还是建议直接看官方文档,讲解的非常的详细。
Apollo
Javademo项目Git地址spring-boot-apollo: SpringBoot应用下的apollo实战
Apollo搭建与实战(分布式部署)相关推荐
- Apollo 配置中心:分布式部署
Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于微服务配置管理场景. 服 ...
- Hadoop环境搭建--Docker完全分布式部署Hadoop环境(菜鸟采坑吐血整理)
系统:Centos 7,内核版本3.10 本文介绍如何从0利用Docker搭建Hadoop环境,制作的镜像文件已经分享,也可以直接使用制作好的镜像文件. 一.宿主机准备工作 0.宿主机(Centos7 ...
- 分布式部署携程Apollo构建配置中心
一.开场白 在系统设计里我们有很多配置希望独立于系统之外,而又能够被系统实时读取.但是在传统的系统设计里,配置信息通常是耦合在系统内的,比如.net里通常会放在App.config或者web.conf ...
- .Net Core 商城微服务项目系列(十四):分布式部署携程Apollo构建配置中心
一.开场白 在系统设计里我们有很多配置希望独立于系统之外,而又能够被系统实时读取.但是在传统的系统设计里,配置信息通常是耦合在系统内的,比如.net里通常会放在App.config或者web.conf ...
- apollo 配置中心_apollo-1:apollo配置中心单机模拟分布式部署
原创:微信公众号:千里行走: 受限图片大小限制,有些图片不是很清晰,可以到微信公众号查看: 1.随着微服务和容器化大行起到,配置中心的重要性越来越高,携程的apollo(几月eureka)是其中的佼佼 ...
- apollo(阿波罗) 分布式部署指南
apollo(阿波罗) 分布式部署指南 一.准备工作 1.1 运行时环境 1.2 MySQL 1.3 环境 1.4 网络策略 二.部署步骤 2.1 创建数据库 2.1.1 创建ApolloPortal ...
- Chaos Mesh 实战分享丨通过混沌工程验证 GreatDB 分布式部署模式的稳定性
Chaos Mesh 最初作为开源分布式数据库 TiDB 的测试平台而创建,是一个多功能混沌工程平台,通过混沌测试验证分布式系统的稳定性.本文以万里安全数据库软件 GreatDB 分布式部署模式为例, ...
- Apollo 分布式部署指南
目录 一.准备工作 1.1 运行时环境 1.1.1 OS 1.1.2 Java 1.2 MySQL 1.3 环境 1.4 网络策略 二.部署步骤 2.1 创建数据库 2.1.1 创建ApolloPor ...
- Hadoop全分布式部署 - CentOS(结尾附视频)
写在前面:博主是一只经过实战开发历练后投身培训事业的"小山猪",昵称取自动画片<狮子王>中的"彭彭",总是以乐观.积极的心态对待周边的事物.本人的技 ...
最新文章
- java中注解的使用_java中注解的使用
- Kafka基础入门篇
- CPU的主频,总线频率和L2缓存对电脑的性能有哪些影响
- 实现安卓里边下边播的播放器(源码公开)
- python生成器函数(generator),python3学习笔记:生成器generator
- [转]转一篇不错的文章:ORM 在电子商务系统中的应用
- python 访问网站 json_python爬虫用selenium访问一个网址返回的是个json字符串,怎么获取这个json字符串?...
- 回调函数透彻理解Java
- c语言怎么写注释,C语言如何注释一段代码?
- linux正则表达式大全,正则表达式,正则表达式语法大全
- 机器学习入门——加州房价问题
- 银行间市场评论员文章词云绘制效果
- IDEA导入scala详解
- 解决Ubuntu18无法进入-显示/dev/nvme0n1p8:recovering Journal
- 数量金融学(7):连续复利
- DontDestroyOnLoad带来的麻烦
- 主机ip6容器ip6以及应用ip6
- wsl Failed to get D-Bus connection: Operation not permitted
- 【Axure高保真原型】常用文件图标元件模板
- sql server2008处理笛卡儿积的逻辑——记一次解决疑惑