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. e.target与事件委托简例(原生和jQuery的区别)

    target定义(英译:目标,目的): target 事件属性可返回事件的目标节点(触发该事件的节点),如生成事件的元素.文档或窗口. 语法: event.target event.target.no ...

  2. JVM(6) 字节码执行引擎

    编译器(javac)将Java源文件(.java文件)编译成Java字节码(.class文件). 类加载器负责加载编译后的字节码,并加载到运行时数据区(Runtime Data Area) 通过类加载 ...

  3. MySQL基础篇(3)常用函数和运算符

    一.字符串函数(索引位置都从1开始) CONCAT(S1,S2,...Sn): 连接S1,S2,...Sn为一个字符串,任何字符串与NULL进行连接的结果都是NULL INSERT(str,x,y,i ...

  4. chrome安装json美化软件 JSONView

    安装效果如下: 安装步骤: 1.下载地址: github地址:https://github.com/gildas-lormeau/JSONView-for-Chrome 2.解压文件 3.打开谷歌浏览 ...

  5. PHP限制上传文件大小

    在php.ini中修改如下变量,如要限制为100M upload_max_filesize = 100M post_max_size = 100M 重启Apache

  6. 在VMware下进行的CentOS7操作系统虚拟机的安装

    一.VMware虚拟机的安装 首先你需要拥有一款软件VMware,这是一款虚拟机安装软件.Vmware比起Vbox收费较贵,占用资源大,但是拥有大量的资源以及拥有克隆技术,适合新手学习使用,较为专业. ...

  7. Python编程 Notepad++和Pycharm设置

    Notepad++ 一.缩进 初学Python的同学需要注意python的缩进,官方鼓励用4个空格缩进, 这时需要注意Tab键与空格的区分.使用Notepad++的同学可以在设置-首选项-制表符宽度中 ...

  8. nginx篇最初级用法之三种虚拟主机基于域名\基于端口\基于IP地址端口的虚拟主机

    在nginx中虚拟主机的类型与apache一样也有三种 1.基于域名的虚拟主机 2.基于端口的虚拟主机 3.基于IP地址端口的虚拟主机 在nginx配置文件中每一个server为一个虚拟主机如果需要多 ...

  9. 一个九位数-python

    有一个9位数由1~9的9个数字组成, 每个数字只能出现一次:其第一位能被1整除, 前两位能被2整除, 前三位能被3整除...依次类推,前9位能被9整除.所有的9位数中,只有一个数字满足这些条件,请你输 ...

  10. 手把手教你定制标准Spring Boot starter,真的很清晰

    写在前面 我们每次构建一个 Spring 应用程序时,我们都不希望从头开始实现具有「横切关注点」的内容:相反,我们希望一次性实现这些功能,并根据需要将它们包含到任何我们要构建的应用程序中 横切关注点 ...