携程Apollo简单入门教程这一篇就够了

1. Apollo背景

对程序配置的期望值也越来越高:配置修改后实时生效,灰度发布,分环境、分集群管理配置,完善的权限、审核机制……

废话不多说,参考官方文档

如果不想看文档, 也没关系, 跟着我一步步走.

2. 安装Apollo服务端

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

2.1 环境要求

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

2.1.1 CentOS7, 不懂linux的, 可以不要继续往下看了.

虚拟机ip为: 192.168.102.140

image

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

image

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

image

2.2 下载 Apollo服务端 Jar包

2.2.1 百度网盘

下载

2.2.2 自己下载源码, 自己打包, 挑战性比较大, 建议放弃

下载

2.2.3 把下载好的jar包, 从windows上, 拉取到linux系统中

image

2.3 创建数据库, 存储Apollo的配置数据

2.3.1 创建ApolloPortalDB

步骤1 通过mysql客户端, 如Navicat, 连接linux中的数据库.

image

步骤2 导入sql

image

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

image
image

2.3.2 创建ApolloConfigDB

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

image
image

2.3.3 配置数据库连接信息

image

2.4 执行启动脚本

默认端口为: 8070

./demo.sh start

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

image

2.5 打开网页查看

image

添加两个参数

timeout :100

batch : 200

image

=================================================以上 服务端配置完毕

3. Apollo客户端

3.1 创建一个springboot项目

image

选择 SringWeb的依赖

image

3.2 添加Apollo依赖

`<``dependency``>`
`<``groupId``>com.ctrip.framework.apollo`
`<``artifactId``>apollo-client`
`<``version``>1.1.0`
``

3.3 配置application.properties

注意: 连接apollo界面的端口为8090, 连接server端口为 8080

#appId 同来区别不同的配置
app.id=SampleApp
#apollo服务器地址
apollo.meta=http://192.168.102.140:8080

3.4 测试项目结构

image

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

 @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 访问项目

image

3.5.2 修改apollo配置

image
image

3.5.3 查看日志

image

3.5.4 再一次访问项目

image

你可能感兴趣的:(携程Apollo简单入门教程这一篇就够了)