服务调用一直走的是Fallback

Blade 已结 2 833
shangmanet
shangmanet 剑圣 2022-06-30 02:04

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

1. 目前有两个服务blade-chat、blade-platform,业务是通过blade-chat来调用blade-platform

2. blade-platform代码如下

image.png

image.png

image.png

3. blade-chat代码如下

image.png

image.png


LazadaSessionClient和ILazadaSessionClientFallback都打上断点的话,
断点只会进入到ILazadaSessionClientFallback里面


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

期待的结果:可以正常访问blade-platform里的接口数据

实际结果(日志打印):接口getSessionList返回结果{"code":400,"success":false,"msg":"获取数据失败"}


2022-06-30 01:44:55.403  INFO 51976 --- [t-data-thread-1] c.netflix.loadbalancer.BaseLoadBalancer  : Client: blade-platform instantiated a LoadBalancer: DynamicServerListLoadBalancer:{NFLoadBalancer:name=blade-platform,current list of Servers=[],Load balancer stats=Zone stats: {},Server stats: []}ServerList:null

2022-06-30 01:44:55.411  INFO 51976 --- [t-data-thread-1] c.n.l.DynamicServerListLoadBalancer      : Using serverListUpdater PollingServerListUpdater

2022-06-30 01:44:55.686  INFO 51976 --- [t-data-thread-1] c.n.l.DynamicServerListLoadBalancer      : DynamicServerListLoadBalancer for client blade-platform initialized: DynamicServerListLoadBalancer:{NFLoadBalancer:name=blade-platform,current list of Servers=[192.168.31.211:10000],Load balancer stats=Zone stats: {unknown=[Zone:unknown;Instance count:1;Active connections count: 0;Circuit breaker tripped count: 0;Active connections per server: 0.0;]

},Server stats: [[Server:192.168.31.211:10000;Zone:UNKNOWN;Total Requests:0;Successive connection failure:0;Total blackout seconds:0;Last connection made:Thu Jan 01 08:00:00 CST 1970;First connection made: Thu Jan 01 08:00:00 CST 1970;Active Connections:0;total failure count in last (1000) msecs:0;average resp time:0.0;90 percentile resp time:0.0;95 percentile resp time:0.0;min resp time:0.0;max resp time:0.0;stddev resp time:0.0]

]}ServerList:com.alibaba.cloud.nacos.ribbon.NacosServerList@bdd2e33

2022-06-30 01:44:55.854  INFO 51976 --- [t-data-thread-1] o.s.c.s.async.AuthAsyncServiceImpl       : 接口getSessionList返回结果{"code":400,"success":false,"msg":"获取数据失败"}

2022-06-30 01:44:56.022  INFO 51976 --- [t-data-thread-1] o.s.c.s.async.AuthAsyncServiceImpl       : Lazada店铺Lazada01初始化会话列表,失败


如果在Client接口类去掉fallback,结果会一直报com.netflix.client.ClientException


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

最新版本2.9.1 bladex-cloud版本,本地MacOS


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


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

2条回答
  •  zhx1994
    zhx1994 (最佳回答者)
    2022-06-30 09:54

    在sessionService.getSessionList(request)这行打断点执行下,是不是程序异常报错了。

    image.png

    作者追问:2022-06-30 09:54

    因为程序是直接进的Fallback,这里打断点进不来,所以打了断点也没有作用,看不到异常

    0 讨论(1)
  • 2022-06-30 14:22

    这个问题已经解决,Client里面参数使用的是RequestBody注解,换成PostMapping就可以了

    0 讨论(0)
提交回复