provider部署在云服务器上时,api会启动失败,连接不上provider

来源:6-2 SpringBoot应用的Docker容器化部署

九五七叶

2023-10-06

qiyu-live-user-provider服务部署在本地,qiyu-live-api就能启动成功,可以在dubbo中找到user-provider,但是当把qiyu-live-user-provider部署在服务器上时,qiyu-live-api就启动失败,连不上qiyu-live-user-provider(将provider服务部署在docker中也出现同样的问题)

环境信息:
qiyu-live-api 本地
qiyu-live-user-provider 云服务器1 jar 部署
nacos:云服务器2
两个云服务器端口均已全部开放,内部防火墙全部关闭

第一张:qiyu-live-user-provider,服务已启动
图片描述
第二张:nacos服务中心已注册成功(qiyu-live-user-provider)
图片描述
第三张:本地qiyu-live-api启动失败
图片描述

补充:我试着将qiyu-live-api和qiyu-live-user-provider部署在同一台云服务器上,则qiyu-live-api可以正常启动,并能正常访问,但是部署在不同的云服务器上(一台阿里、一台腾讯),则qiyu-live-api不能正常启动

写回答

1回答

Danny_Idea

2023-10-06

这是个好问题,老师之前也有遇到过一个类似的。

首先你要查看下nacos中注册的dubbo地址,是不是变成了docker容器的ip地址,如果是的话,你本地的服务应该是不能直接通过公网去访问云端的docker地址的,这里你可以通过设置docker启动的时候,将宿主机的ip注册到nacos上。

这块可以参考老师在qiyu-live-user-provider项目中的docker-compose.yaml文件的对于dubbo注册参数的配置:

https://img.mukewang.com/szimg/651fc9110965d1f915131126.jpg

0
3
九五七叶
回复
Danny_Idea
好的,谢谢老师
2023-10-08
共3条回复

SpringCloudAlibaba高并发仿斗鱼直播平台实战

SpringCloudAlibaba高并发仿斗鱼直播平台实战

421 学习 · 344 问题

查看课程