Faxon 2020-03-22 18:29 采纳率: 100%
浏览 1312

Nacos+dubbo提供者与消费者不在同一机器上

各位大佬好,我想把dubbo服务提供者部署到阿里云上,然后在本地运行服务消费者,试了好多网上的方法,都不管用。阿里的安全组也放行了。

我用docker-compose部署的,而且设置了ip与端口,配置如下:
(我也试过docker-compose中不配置environment,不行。)

version: '3.1'
services:
  provider-ucenter:
    build: ./provider-ucenter/
    image: provider-ucenter:1.0.0
    restart: always
    container_name: provider-ucenter
    environment:
      DUBBO_IP_TO_REGISTRY: 39.105.137.237
      DUBBO_PORT_TO_REGISTRY: 8500
    ports:
      - "8500:8500"
  provider-message:
    build: ./provider-message/
    image: provider-message:1.0.0
    restart: always
    container_name: provider-message
    environment:
      DUBBO_IP_TO_REGISTRY: 39.105.137.237
      DUBBO_PORT_TO_REGISTRY: 8530
    ports:
      - "8530:8530"

运行后,nacos控制台显示服务均上线:
图片说明

而且各服务的IP,端口都正确,如userservice:
图片说明

然后,我在本地跑服务消费者,报错:

org.apache.dubbo.remoting.RemotingException: client(url: dubbo://39.105.137.237:8500/com.supermarket.manage.provider.api.ucenter.UserService?anyhost=true&application=business-cloud&bean.name=ServiceBean:com.supermarket.manage.provider.api.ucenter.UserService:1.0.0&category=providers&check=false&codec=dubbo&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&heartbeat=60000&interface=com.supermarket.manage.provider.api.ucenter.UserService&lazy=false&methods=getCountByPhone,getUserByUsername,bindPhone,updatePasswordById,getCountByUsername,insertUser,updateUserById,untiePhone,getUsernameByUserId,userLoginByUsername,getUserByUserId,getUserByBuyerId,register&path=com.supermarket.manage.provider.api.ucenter.UserService&pid=3176&protocol=dubbo&qos.enable=false&register=true&register.ip=192.168.18.1&release=2.7.3&remote.application=provider-ucenter&revision=1.0.0&serialization=kryo&side=consumer&sticky=false&timeout=5000&timestamp=1584871255294&version=1.0.0) failed to connect to server /39.105.137.237:8500, error message is:Connection refused: no further information: /39.105.137.237:8500

但是把提供者和消费者放在同一个服务器上就能成功。
请问大佬们有没有什么好的建议

  • 写回答

2条回答 默认 最新

  • delicious__z 2020-04-12 11:36
    关注

    rpc一般是在内网进行的,有可能是因为公网有网络抖动、网络延时

    评论

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮