携程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 ...
随机推荐
- 微信小程序初级教程
小程序代码构成 JSON 配置 WXML 模版 WXSS 样式 JS 逻辑交互 JSON 配置 在小程序中,JSON扮演的静态配置的角色. 小程序配置 app.json { "pages&q ...
- 类和对象(day19整理)
目录 面对对象和面对过程编程 什么是面向对象 什么是面向过程编程 什么是面对对象编程 类 类的定义 定义类时发生的事情 __dict__和. 对象 名称空间 __init__函数 调用类发生的事情 对 ...
- 基于 HTML5 + Canvas 实现的 PID 可视化系统
前言 随着工业物联网和互联网技术的普及和发展,人工填料的方式已经逐渐被机械设备取代.工业厂商减小误操作.提升设备安全以及追求高效率等制造特点对设备的要求愈加高标准.严要求.同时机械生产以后还需遵从整个 ...
- 使用Java8 Stream API对Map按键或值进行排序
一.什么是Java 8 Stream 使用Java 8 Streams,我们可以按键和按值对映射进行排序.下面是它的工作原理: 将Map或List等集合类对象转换为Stream对象 使用Streams ...
- Android dos操作
adb shell 开Androidls 列表cd +目录名 打开目 ...
- C# 计时周期数(Ticks)在不同数据库上的实现
要在数据库中实现 DateTime.Ticks,先来看看 Ticks 在微软官方文档上的定义: 注解 一个计时周期表示一百纳秒,即一千万分之一秒. 毫秒内有 , 个计时周期,即 秒内有 , 万个计时周 ...
- LNMP下zabbix_server安装部署二
上一篇中搭建完成了zabbix的web端,但是虚拟机有点问题,所以转到笔记本上来写笔记本环境 server:192.168.112.9 agent:192.168.112.8 上一篇中完成了web ...
- 「考试」$5T$
啊因为最近题实在是好啊,只能四五篇四五篇写了. T1. 括号序列的确简单. 当我们维护左右$cnt$后. 到一个左括号的地方的话. 答案就是:$$\sum\limits_{i=1}^{min(lc,r ...
- 模拟80(a)
其实隔壁的那套题比这套难的多....一道都不会.. T1 题目中已经给出了递推公式,那么这题就没什么了,直接矩阵乘就完了. 然而考场上并没有看出矩阵,主要是用了好久发明crt,我知道原理,但是不会打了 ...
- 通俗易懂了解Vue组件的通信方式
1.前言 Vue框架倡导组件化开发,力求将一个大的项目拆分成若干个小的组件,就如同我们小时玩堆积木一样,一个大房子是由若干个小积木组成.组件化开发最大问题就是组件之间数据能够流通,即组件之间能够通信. ...