携程Apollo简单入门教程这一篇就够了
1. Apollo背景
2. 安装Apollo服务端
2.1 环境要求
2.1.1 CentOS7, 不懂linux的, 可以不要继续往下看了.
虚拟机ip为: 192.168.102.140

2.1.2 JDK1.8 以上, 不懂安装JDK, 请自行百度

2.1.3 MySQL5.6.5+以上, 不懂安装MySQL, 请自行百度

2.2 下载 Apollo服务端 Jar包
2.2.1 百度网盘
下载
2.2.2 自己下载源码, 自己打包, 挑战性比较大, 建议放弃
下载
2.2.3 把下载好的jar包, 从windows上, 拉取到linux系统中

2.3 创建数据库, 存储Apollo的配置数据
2.3.1 创建ApolloPortalDB
步骤1 通过mysql客户端, 如Navicat, 连接linux中的数据库.

步骤2 导入sql

通过各种MySQL客户端导入sql/apolloportaldb.sql即可。


2.3.2 创建ApolloConfigDB


2.3.3 配置数据库连接信息

2.4 执行启动脚本
默认端口为: 8070
./demo.sh start
注意: 脚本会在本地启动3个服务,分别使用8070, 8080, 8090端口,请确保这3个端口当前没有被使用。

2.5 打开网页查看


3. Apollo客户端
3.1 创建一个springboot项目

选择 SringWeb的依赖

3.2 添加Apollo依赖
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>1.1.0</version>
</dependency>
3.3 配置application.properties
注意: 连接apollo界面的端口为8090, 连接server端口为 8080
#appId 同来区别不同的配置
app.id=SampleApp
#apollo服务器地址
apollo.meta=http://192.168.102.140:8080
3.4 测试项目结构

3.4.1 AppConfig
@Configuration
@EnableApolloConfig
public class AppConfig {
@Bean
public TestJavaConfigBean javaConfigBean() {
return new TestJavaConfigBean();
}
}
3.4.2 TestJavaConfig
public class TestJavaConfigBean {
@Value("${timeout:100}")
private int timeout;
private int batch;
@Value("${batch:200}")
public void setBatch(int batch) {
this.batch = batch;
}
public int getTimeout() {
return timeout;
}
public int getBatch() {
return batch;
}
}
3.4.3 TestController
/**
* @author c-can-z
*/
@RestController
public class TestController { @Autowired
private TestJavaConfigBean testJavaConfigBean; @RequestMapping("get")
public String get(){
int batch = testJavaConfigBean.getBatch();
int timeout = testJavaConfigBean.getTimeout();
return "batch:"+batch+", timeout:"+timeout;
} }
3.5 启动项目
3.5.1 访问项目

3.5.2 修改apollo配置


3.5.3 查看日志

3.5.4 再一次访问项目

4 后记
该文章为apollo的最简单的使用, 如果想要了解更多, 还是从官方文章获取.
目前的配置中 SpringCloud-Config, zookeeper等, 使用都是大同小异
有疑问留言, 我会及时回复
代码之路, 道阻且长, 且行且珍惜
携程Apollo简单入门教程这一篇就够了的更多相关文章
- Golang简单入门教程——函数进阶篇
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是golang专题的第八篇,我们来聊聊golang当中的函数. 我们在之前的时候已经介绍过了函数的基本用法,知道了怎么样设计或者是定义一 ...
- 携程apollo系列-客户端集成
本文讲解如何在 Java 程序中集成 Apollo 配置, 主要涉及到一些基础用法. 对于一些高级用法, 比如如何加密/解密配置项 (可用于数据库密码配置), 如何动态切换数据源地址,如何动态切换日志 ...
- 携程apollo系列-个人开发环境搭建
本博客讲详细讲解如何在 Windows 搭建携程 Apollo 服务器 (用户个人开发). 开发服务器有多种搭建方式:(1) docker, 搭建过程非常简单, 推荐有 docker 环境(2) 部署 ...
- 程序员,一起玩转GitHub版本控制,超简单入门教程 干货2
本GitHub教程旨在能够帮助大家快速入门学习使用GitHub,进行版本控制.帮助大家摆脱命令行工具,简单快速的使用GitHub. 做全栈攻城狮-写代码也要读书,爱全栈,更爱生活. 更多原创教程请关注 ...
- GitHub这么火,程序员你不学学吗? 超简单入门教程 【转载】
本GitHub教程旨在能够帮助大家快速入门学习使用GitHub. 本文章由做全栈攻城狮-写代码也要读书,爱全栈,更爱生活.原创.如有转载,请注明出处. GitHub是什么? GitHub首先是个分布式 ...
- 分布式配置中心 携程(apollo)
1.传统配置文件与分布式配置文件区别 传统配置文件:如果修改了配置文件,需要重新打包发布,重新发布服务,而且每个环境的变更配置文件,比较繁琐. 分布式配置文件:将配置文件注册到配置中心上去,可以使用分 ...
- Flyway 简单入门教程
原文地址:Flyway 简单入门教程 博客地址:http://www.extlight.com 一.前言 Flyway 是一款开源的数据库版本管理工具,它更倾向于规约优于配置的方式.Flyway 可以 ...
- NumPy简单入门教程
# NumPy简单入门教程 NumPy是Python中的一个运算速度非常快的一个数学库,它非常重视数组.它允许你在Python中进行向量和矩阵计算,并且由于许多底层函数实际上是用C编写的,因此你可以体 ...
- Systemd 入门教程:实战篇
Systemd 入门教程:实战篇 上一篇文章,介绍了 Systemd 的主要命令,这篇文章主要介绍如何使用 Systemd 来管理我们的服务,以及各项的含义: 一.开机启动 对于那些支持 System ...
随机推荐
- volatile关键字使用
1.volatile 使用场景(多线程情况下): 适合使用在 一写多读 的情况下: 2.volatile 理解分析: 使用 volatile 关键字修饰的变量,值在改变时会直接刷新到 主内存 中,而不 ...
- vue 首次加载缓慢/刷新后加载缓慢 原因及解决方案
# vue 首次加载缓慢/刷新后加载缓慢 原因及解决方案 最近做项目发现一个问题,页面每次刷新后加载速度都非常慢,20s左右,在开发环境则非常流畅,几乎感觉不到,本文参考望山的各种方案优化 1,关闭打 ...
- Spring AOP 知识整理
通过一个多月的 Spring AOP 的学习,掌握了 Spring AOP 的基本概念.AOP 是面向切面的编程(Aspect-Oriented Programming),是基于 OOP(面向对象的编 ...
- NOIP201605玩具谜题-解题报告
NOIP201605玩具谜题-解题报告 2019-11- ...
- scrapy爬取京东iPhone11评论(一)
咨询行业中经常接触到文本类信息,无论是分词做词云图,还是整理编码分析用,都非常具有价值. 本文将记录使用scrapy框架爬取京东IPhone11评论的过程,由于一边学习一边实践,更新稍慢请见谅. 1. ...
- NOI1995 石子合并 [Luogu P1880]
一道区间dp的模板题,这里主要记一下dp时环形数据的处理. 简略版:方法一:枚举分开的位置,将圈化为链,因此要做n次. 方法二:将链重复两次,即做一个2n-1长度的链,其中第i(i<=n)堆石子 ...
- MIT线性代数:19.行列式和代数余子式
- Flex简记
display的flex属性的使用对象分为1.容器即包含有元素的元素,2.项目,即某一个元素.就容器而言,flex可以实现换行(flex-wrap),改变容器内元素的排列方向(flex-directi ...
- [考试反思]1002csp-s模拟测试56:凌乱
放假回来状态回升??(玩够了-但是稍困) T1打的不完全对,但是过掉了.很快的想到了二分吧喇叭啦.. 然后T2也挺快想出来了但是挂细节没发现,考试快结束的时候才发现出锅了. 改了过来是正解,但是出题人 ...
- 使用 element-ui 级联插件遇到的坑
需求描述[省市区三级联动] 组件:Cascader 级联选择器 后端需要所选中的地区的名字,如:['北京市', '北京市', '东城区'] 获取后端省市区具体列表的接口返回数据: // 省 - 参数1 ...