1. Apollo背景

对程序配置的期望值也越来越高:配置修改后实时生效,灰度发布,分环境、分集群管理配置,完善的权限、审核机制……
 
废话不多说,参考官方文档
 
如果不想看文档, 也没关系, 跟着我一步步走.
 

2. 安装Apollo服务端

因为是简单案例, 所以就用官方的Quick Start
 

2.1 环境要求

以下是采用Linux环境配置 Apollo服务启动包

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

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

2.3.3 配置数据库连接信息

2.4 执行启动脚本

默认端口为: 8070

./demo.sh start

注意: 脚本会在本地启动3个服务,分别使用8070, 8080, 8090端口,请确保这3个端口当前没有被使用。

2.5 打开网页查看

 
 
添加两个参数
timeout :100
batch : 200
 
=================================================以上 服务端配置完毕
 

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简单入门教程这一篇就够了的更多相关文章

  1. Golang简单入门教程——函数进阶篇

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是golang专题的第八篇,我们来聊聊golang当中的函数. 我们在之前的时候已经介绍过了函数的基本用法,知道了怎么样设计或者是定义一 ...

  2. 携程apollo系列-客户端集成

    本文讲解如何在 Java 程序中集成 Apollo 配置, 主要涉及到一些基础用法. 对于一些高级用法, 比如如何加密/解密配置项 (可用于数据库密码配置), 如何动态切换数据源地址,如何动态切换日志 ...

  3. 携程apollo系列-个人开发环境搭建

    本博客讲详细讲解如何在 Windows 搭建携程 Apollo 服务器 (用户个人开发). 开发服务器有多种搭建方式:(1) docker, 搭建过程非常简单, 推荐有 docker 环境(2) 部署 ...

  4. 程序员,一起玩转GitHub版本控制,超简单入门教程 干货2

    本GitHub教程旨在能够帮助大家快速入门学习使用GitHub,进行版本控制.帮助大家摆脱命令行工具,简单快速的使用GitHub. 做全栈攻城狮-写代码也要读书,爱全栈,更爱生活. 更多原创教程请关注 ...

  5. GitHub这么火,程序员你不学学吗? 超简单入门教程 【转载】

    本GitHub教程旨在能够帮助大家快速入门学习使用GitHub. 本文章由做全栈攻城狮-写代码也要读书,爱全栈,更爱生活.原创.如有转载,请注明出处. GitHub是什么? GitHub首先是个分布式 ...

  6. 分布式配置中心 携程(apollo)

    1.传统配置文件与分布式配置文件区别 传统配置文件:如果修改了配置文件,需要重新打包发布,重新发布服务,而且每个环境的变更配置文件,比较繁琐. 分布式配置文件:将配置文件注册到配置中心上去,可以使用分 ...

  7. Flyway 简单入门教程

    原文地址:Flyway 简单入门教程 博客地址:http://www.extlight.com 一.前言 Flyway 是一款开源的数据库版本管理工具,它更倾向于规约优于配置的方式.Flyway 可以 ...

  8. NumPy简单入门教程

    # NumPy简单入门教程 NumPy是Python中的一个运算速度非常快的一个数学库,它非常重视数组.它允许你在Python中进行向量和矩阵计算,并且由于许多底层函数实际上是用C编写的,因此你可以体 ...

  9. Systemd 入门教程:实战篇

    Systemd 入门教程:实战篇 上一篇文章,介绍了 Systemd 的主要命令,这篇文章主要介绍如何使用 Systemd 来管理我们的服务,以及各项的含义: 一.开机启动 对于那些支持 System ...

随机推荐

  1. volatile关键字使用

    1.volatile 使用场景(多线程情况下): 适合使用在 一写多读 的情况下: 2.volatile 理解分析: 使用 volatile 关键字修饰的变量,值在改变时会直接刷新到 主内存 中,而不 ...

  2. vue 首次加载缓慢/刷新后加载缓慢 原因及解决方案

    # vue 首次加载缓慢/刷新后加载缓慢 原因及解决方案 最近做项目发现一个问题,页面每次刷新后加载速度都非常慢,20s左右,在开发环境则非常流畅,几乎感觉不到,本文参考望山的各种方案优化 1,关闭打 ...

  3. Spring AOP 知识整理

    通过一个多月的 Spring AOP 的学习,掌握了 Spring AOP 的基本概念.AOP 是面向切面的编程(Aspect-Oriented Programming),是基于 OOP(面向对象的编 ...

  4. NOIP201605玩具谜题-解题报告

    NOIP201605玩具谜题-解题报告                                                                         2019-11- ...

  5. scrapy爬取京东iPhone11评论(一)

    咨询行业中经常接触到文本类信息,无论是分词做词云图,还是整理编码分析用,都非常具有价值. 本文将记录使用scrapy框架爬取京东IPhone11评论的过程,由于一边学习一边实践,更新稍慢请见谅. 1. ...

  6. NOI1995 石子合并 [Luogu P1880]

    一道区间dp的模板题,这里主要记一下dp时环形数据的处理. 简略版:方法一:枚举分开的位置,将圈化为链,因此要做n次. 方法二:将链重复两次,即做一个2n-1长度的链,其中第i(i<=n)堆石子 ...

  7. MIT线性代数:19.行列式和代数余子式

  8. Flex简记

    display的flex属性的使用对象分为1.容器即包含有元素的元素,2.项目,即某一个元素.就容器而言,flex可以实现换行(flex-wrap),改变容器内元素的排列方向(flex-directi ...

  9. [考试反思]1002csp-s模拟测试56:凌乱

    放假回来状态回升??(玩够了-但是稍困) T1打的不完全对,但是过掉了.很快的想到了二分吧喇叭啦.. 然后T2也挺快想出来了但是挂细节没发现,考试快结束的时候才发现出锅了. 改了过来是正解,但是出题人 ...

  10. 使用 element-ui 级联插件遇到的坑

    需求描述[省市区三级联动] 组件:Cascader 级联选择器 后端需要所选中的地区的名字,如:['北京市', '北京市', '东城区'] 获取后端省市区具体列表的接口返回数据: // 省 - 参数1 ...