携程阿波罗部署到阿里云上遇到的坑

平时自己玩,阿波罗都是直接部署到本地或者虚拟机,一直都正常

 

知道有一天,我部署到阿里云

我去 配置竟然拿不到

需要说明的是我拿配置的方式:

直接上代码:

Config config = ConfigService.getAppConfig(); //config instance is singleton for each namespace and is never null
String someKey = "recordSlowSql";
String someDefaultValue = "";
String value = config.getProperty(someKey, someDefaultValue);
return value;

 

死活拿不到,但是,阿波罗确实是发布了

同样的一套数据库,本地部署可以拿到数据

 

然后使用restapi,也可以拿到

restapi:

http://阿里公网ip:8070/openapi/v1/envs/DEV/apps/test666/clusters/default/namespaces/application/items/recordSlowSql

返回数据

{

"key": "recordSlowSql",

"value": "yes",

"comment": "",

"dataChangeCreatedBy": "apollo",

"dataChangeLastModifiedBy": "apollo",

"dataChangeCreatedTime": "2020-07-16T11:03:48.000+0800",

"dataChangeLastModifiedTime": "2020-09-01T17:09:00.000+0800"

}

 

手足无措,呵呵 没办法 看日志吧

先看阿波罗的日志

apollo-adminservice无异常

apollo-configservice无异常

apollo-portal无异常

自己写的获取apollo数据的模块 一直有一个警告:

14:41:58 [Apollo-RemoteConfigLongPollService-1] WARN  c.c.f.a.i.RemoteConfigLongPollService - Long polling failed, will retry in 120 seconds. appId: bootdo, cluster: default, namespaces: application, long polling url: null, reason: Get config services failed from http://apollo.meta/services/config?appId=bootdo&ip=172.16.7.157 [Cause: Could not complete get operation [Cause: apollo.meta]]

 

注意标红的,这个是阿里云的局域网ip,而不是公网ip,

呵呵,感觉跟这个有关系,于是把获取阿波罗数据的模块也放到阿里云上,获取数据正常,呵呵,问题终于清晰定位到了

 到现在,问题很清晰了,就是阿里云的网络配置问题(说是我的问题也可以,嗯,对,我的问题),

另外还有一点:看eureka上的实例信息,点进去,全部是局域网

 

问题发现了,解决就好办了

方案1:

模块apollo-adminservice和模块apollo-configservice的eureka ip写成公网

例如:

eureka:
  instance:
    ip-address: 你的阿里云公网ip
    prefer-ip-address: true

方案2:

修改阿里云的配置文件(该方案目前为猜测,还未验证)

文件原来内容:

vim /etc/hosts

修改

将一长串的但是不是域名的iZ... 映射地址修改为公网即可

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值