Apollo客户端使用指南

Apollo客户端使用指南


版本号


Apollo:1.7.1

客户端


完成Apollo部署后,使用浏览器进入8070端口
以下是一些常用操作示例

使用默认账号密码apollo/admin登陆

Apollo客户端使用指南_第1张图片

Apollo客户端使用指南_第2张图片

页面提示配置出错

Apollo客户端使用指南_第3张图片

新建项目

 

Apollo客户端使用指南_第4张图片

根据数据库配置,默认创建dev环境

Apollo客户端使用指南_第5张图片

新建命名空间

Apollo客户端使用指南_第6张图片

Apollo客户端使用指南_第7张图片

命名空间中新增并发布配置

  • Apollo客户端使用指南_第8张图片

读取配置

查看应用接入文档

应用接入

JAVA

Springboot推荐配置

第一步:resource目录新建  bootstrap.properties文件和apollo-env.properties文件

resource目录下新建bootstrap.properties文件

# Apollo配置

# AppId
app.id=WXOauthAPI
# meta server地址,为方便区分不同环境,配置到apollo-env.properties
# apollo.meta=xxx.xxx.xxx.xxx
# 在应用启动阶段是否向Spring容器注入被托管的properties文件配置信息
apollo.bootstrap.enabled=true
# 指定命名空间
apollo.bootstrap.namespaces=application
# 将Apollo配置加载提到初始化日志系统之前
apollo.bootstrap.eagerLoad.enabled=true

resource目录下新建apollo-env.properties文件

# 配置apollo不同环境的地址
## 若为集群部署,支持输入多个地址,使用逗号(,)分隔

# dev(开发环境)
dev.meta=http://172.16.2.14:8080
# fat(测试环境)
#fat.meta=http://apollo.fat.xxx.com
# uat(预生产环境)
#uat.meta=http://apollo.uat.xxx.com
# pro(生产环境)
#pro.meta=http://apollo.xxx.com

 

踩坑

项目启动时报错

错误信息  这个一定需要注意:如果是云服务器,一定要注意该错误信息,是因为云服务器是随机给的ip地址,跟实际服务器的地址不一定相同,所以会报错

Sync config failed, will retry. Repository class com.ctrip.framework.apollo.internals.RemoteConfigRepository, reason: Load Apollo Config failed - appId: bitongchong_bos, cluster: default, namespace: application, url: http://xxx.xxx.xxx.xxx:8080/configs/bitongchong_bos/default/application?ip=192.168.102.1&messages=%7B%22details%22%3A%7B%22bitongchong_bos%2Bdefault%2Bapplication%22%3A6%7D%7D&releaseKey=20190803112627-2b5dd0e414976d16 [Cause: Could not complete get operation [Cause: connect timed out]]

解决方案
此种错误是由于部署到云服务器时,eureka实体地址默认解析成内网,需要映射外网地址修改启动文件

docker部署解决方案

修改apollo-configserviceapollo-adminservice容器的启动参数(由于两个容器除名称外结构相同,只给出一个修改示例)

 

 

这里只用了 apollo-configservice修改实例,apollo-adminservice修改同理,只需要修改一下就可以,

进入容器

docker exec -it apollo-configservice bash

 修改启动文件

vi /apollo-configservice/scripts/startup.sh

 找到JAVA_OPTS指令,在最后补充eureka参数

export JAVA_OPTS="$JAVA_OPTS -Dserver.port=$SERVER_PORT -Dlogging.file=$LOG_DIR/$SERVICE_NAME.log -XX:HeapDumpPath=$LOG_DIR/HeapDumpOnOutOfMemoryError/ -Deureka.instance.ip-address=172.16.5.31"

退出docker:exit 。必须退出docker才可以重新启动docker容器

重启容器

docker restart apollo-configservice 

虚拟机部署解决方案

第二步:

配置一下测试环境: 在运行环境 VM options加上 -Denv=环境名称,例如 :-Denv=dev

Apollo客户端使用指南_第9张图片

Apollo客户端使用指南_第10张图片

第三步:具体代码实现:  其实就只需要用  Value注解读取key为 test的值就可以,123 是默认值,当读取不到时默认123

@Value("${test:123}")
private String test;

// 第一个测试方法
@RequestMapping("/ApolloInfo/get")
public String getApolloInfo() {

    return "123456---"+test;
}

 

参考

遇到的问题

删除namespace后,重新创建同名namespace显示已存在相同的命名空间

问题描述

 

Apollo客户端使用指南_第11张图片

 

解决方案

普通删除并不会清除对应namespace的数据,使用管理员工具删除namespace即可。

Apollo客户端使用指南_第12张图片

 

你可能感兴趣的:(docker)