TSF DCFG 分布配置不生效

图片描述

定位方式如下:

1 检查部署组已发布配置是否正确

图片描述

2 检查Consul中的配置是否正确

 # 全局配置
curl '{tsf_consul_ip}:{tsf_consul_port}/v1/kv/config/application/{namespace_id}/data?nid={namespace_id}&uid={app_id}&token=oss-acae2d9cb7fd&raw'

 # 应用配置
 curl '{tsf_consul_ip}:{tsf_consul_port}/v1/kv/config/application/{application_id}/{group_id}/data?nid={namespace_id}&uid={app_id}&token=oss-acae2d9cb7fd&raw'

 # 或者直接调用 DescribeReleasedConfig
curl -m 5 -i -H "Content-Type: application/json" -X POST '{tsf-dcfg ip}:13000/config/released' -d '{"appId":"{app_id}","uin":"0","subAccountUin":"0","requestId":"111111","groupId":"{group_id}"}'

tsf_consul_ip和tsf_consul_port: 是用户consul的IP和地址,可以在tsf-dcfg模块外挂的application.yml配置文件或者用户应用的环境变量中查到。

namespace_id: 业务应用发布的部署组所属的命名空间ID,一般是namespace-xxxxxxxx。

application_id: 业务应用发布的部署组所属的应用ID,一般是application-xxxxxxxx。

group_id: 业务应用发布的部署组ID,一般是group-xxxxxxxx。

app_id: 业务的租户ID,可以在账户页面或者tsf-dispatch请求日志中获取。

3 检查应用内存中的配置是否正确

例如:ApplicationContext的getPropertie等。

4 检查业务应用是否连接了正确的Consul

5 业务日志中是否有配置刷新日志

通常是以下内容

2018-07-26 16:12:46.460 INFO [tsf-inventory,,,] 94948 --- [pool-1-thread-1] o.s.c.e.event.RefreshEventListener : Refresh keys changed: [tsf.inventory.password.encrypt2]

6 刷新日志中是否有显示KEY

通常是以下内容

2018-07-26 16:12:46.460 INFO [tsf-inventory,,,] 94948 --- [pool-1-thread-1] o.s.c.e.event.RefreshEventListener : Refresh keys changed: [tsf.inventory.password.encrypt2]

7 检查SDK依赖是否正确

检查业务的POM配置

8 重新发布触发配置刷新

在TSF控制台上发布任意新配置或者发布任意配置的新版本即可。

9 检查TSF-DCFG模块客户Consul配置

在@{tsf_oss_host}:/data/tsfjar/dcfg/application-tce.yml 配置文件中检查以下的配置是否是客户的Consul

 tsf:

   consul:

     host: 10.113.44.11

     port: 8000

A 一般来说可能是以下情况:

· 需要使用配置的地方未注入,导致无法通过spring的注入机制获取配置。

· 需要使用配置的地方加载时序在配置加载前,只能使用环境变量 启动参数 本地配置。

· 需要使用配置的地方不支持热加载,而配置在启动后有过更新。

B 修改配置并重新发布

C 提供SDK版本号联系TSF支人员

D 修改为正确SDK的依赖

E 修改为正确的Consul配置并重启

F. 提取TSF-DCFG日志并联系TSF支人员

G. 修改为正确配置,重启TSF-DCFG

results matching ""

    No results matching ""