springcloud消费者使用socket.io监听事件调用提供者接口,总是报feign超时是怎么回事?

框架使用springcloud,消费者和提供者之间用feign调用。

消费者项目中搭建了socket.io,监听了多个事件。

在收到监听事件的消息时,通过消费者的feign去调用提供者的接口更新数据,同时把消息发给其他socket连接。

现在socket事件收到消息后去调用feign的方法(代码中的userApi等方法),老是超时,麻烦大佬帮忙看下是怎么回事,感激不尽!!!
图片说明

 @OnEvent("message")    //连接成功
    public void message(SocketIOClient client, String data) {
        JSONObject json = JSONObject.parseObject(data);
        String operation = json.getString("operation");
        Map<String, String> param = new HashMap<>();
        switch(operation) {
        case "connected":   //连接成功后要发送的消息
            logger.info("connected事件触发,数据为:" + data);
            client.set("userId", json.getString("userId")); //断开时需要用到的属性
            client.set("name", json.getString("name"));
            client.set("source", json.getString("source"));
            client.set("role", json.getString("role")); 
            param.put("userId", json.getString("userId"));  //发送消息或更新数据时用到的属性
            param.put("name", json.getString("name"));
            param.put("role", json.getString("role"));
            param.put("isOnline", "在线");
            for (SocketIOClient item : pcSocketSet) {
                item.sendEvent("data", net.sf.json.JSONObject.fromObject(param).toString());
            }
            if(json.getString("source").equals("pc")) {
                pcSocketSet.add(client);
            }
            if(json.getString("role").equals("2")) {
                userApi.updateOnline(param);
            }else if(json.getString("role").equals("3")) {
                String carId = json.getString("carId");
                param.put("carId", carId);
                carApi.updateCarOnline(param);
            }
            break;

图片说明

建议写单元测试单独调用下这个接口,看下是否会超时。从而确认是不是只在这种场景下会调用失败,其他场景是可以调用成功的,从而缩小问题排查范围。
初步判断,还是和注册中心注册的服务信息,网络情况有关。建议先重启下服务注册中心,然后再重启下服务的消费者和提供者在试试。

https://blog.csdn.net/lvyangxue/article/details/108276322