两个微服务缓存调用问题

Blade 已结 1 843
奥特曼大怪兽
奥特曼大怪兽 2020-09-11 19:36

一、该问题的重现步骤是什么?

分别在两个机器A、B上部署服务,

A机器上有服务:user、auth、gateway、system服务

B机器上有自己定义的服务:analysis


A、B两台服务器的网络是互通,可以相互调用。


在Analysis 服务的业务代码中有使用:ParamCache.getValue() 来获取定义的参数,但是这样获取不到参数,参数为空


请问是否可以在两个不同的服务器上调用?


二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

2.6.1

四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  •  admin
    admin (楼主)
    2020-09-11 23:05

    按照这个流程做:

     1. 清空redis缓存

     2. 重启服务

     3. 在ParamCache.getValue()的调用链方法打一个日志,看看日志输出的结果是什么

    image.png

    image.png

     4. 如果服务器日志不好调试,那你就把analysis服务在本地开发机启动,然后调用调试。

     5. 只有拿到具体日志了才能知道是什么原因

     6. 正常情况下,如果注册到nacos的ip都能互通,端口都开启,那远程调用就不会有问题

     7. 如果是服务器上用java -jar 跑的,只需要保证ip联通就行了

     8. 如果是docker服务跑的,需要用到docker swarm或者k8s

    0 讨论(1)
提交回复