赞
踩
Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
jdk1.8
mysql 5.6+
在Apollo的githubsql脚本,下载,apolloconfigdb.sql和apolloportaldb.sql
ApolloConfigDB和ApolloPortalDB。
UPDATE ServerConfig SET VALUE='自己eureka.service.url' WHERE KEY='eureka.service.url';
命令:
java -Xms256m -Xmx256m -Dserver.port=8085 -Dapollo_profile=github -Denv=DEV -Deureka.instance.preferIpAddress=true -Deureka.instance.ipAddress=10.10.10.10 -Dspring.datasource.url=jdbc:mysql://10.10.10.10:3305/ApolloConfigDB?characterEncoding=utf-8 -Dspring.datasource.username=root -Dspring.datasource.password=root -jar apollo-configservice-1.3.0.jar
注意更改这里的数据库信息。
java -Xms256m -Xmx256m -Dserver.port=8086 -Dapollo_profile=github -Deureka.instance.preferIpAddress=true -Deureka.instance.ipAddress=10.10.10.10 -Denv=DEV -Dspring.datasource.url=jdbc:mysql://10.10.10.10:3305/ApolloConfigDB?characterEncoding=utf-8 -Dspring.datasource.username=root -Dspring.datasource.password=root -jar apollo-adminservice-1.3.0.jar
注意更改这里的数据库信息。
java -Xms256m -Xmx256m -Dserver.port=8087 -Dapollo_profile=github,auth -Ddev_meta=http://10.10.10.10:8085/ -Dspring.datasource.url=jdbc:mysql://10.10.10.10:3305/ApolloPortalDB?characterEncoding=utf-8 -Dspring.datasource.username=root -Dspring.datasource.password=fengpt -jar apollo-portal-1.3.0.jar
注意
①更改这里的数据库信息。
②-Ddev_meta 为apollo-configservice 服务的地址
,
输入用户名 apollo,密码 admin 后登录后,点击SampleApp进入配置界面。
注意这里的应用id,之后会用到。
配置都是key-value模式的。并且配置需要发布,才可以生效。
<dependency><groupId>com.ctrip.framework.apollogroupId><artifactId>apollo-clientartifactId><version>1.3.0version>dependency>
# 与配置中心的AppId一致app.id=apollo-test# 默认情况下meta server和config service是部署在同一个JVM进程apollo.meta=http://10.10.10.10:8085# 集成到Spring Bootapollo.bootstrap.enabled = trueapollo.cluster=dev
@RestControllerpublic class TestController {@Value("${com.fengpt.test}")private String value;@Value("${name}")private String name;@Value( "${server.port}" )String port;@GetMapping("test")public String get(){return "端口:"+port+" 姓名:"+name+"" +"变量值:"+value;}}
@SpringBootApplication@EnableApolloConfigpublic class ApolloTestApplication {public static void main(String[] args) {SpringApplication.run(ApolloTestApplication.class, args);}}
注意:启动类加:@EnableApolloConfig
调用/test接口,查看数据
端口:8081 姓名:张三变量值:test
这时候,我们通过apollo,改变下name的值。
记得发布下,
我们再一次调用/test接口,这时候,我们看到name的值已经变了。
端口:8081 姓名:李四变量值:test
提供配置获取接口
提供配置推送接口
服务于Apollo客户端
提供配置管理接口
提供配置修改发布接口
服务于管理界面Portal
为应用获取配置,支持实时更新
通过MetaServer获取ConfigService的服务列表
使用客户端软负载SLB方式调用ConfigService
配置管理界面
通过MetaServer获取AdminService的服务列表
使用客户端软负载SLB方式调用AdminService
以上就是apollo的简单使用,之后,我们再研究更高级的用法。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。