关于公共服务和Biz服务分离开发的问题

Blade 未结 2 447
med
med 2023-06-01 11:55

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

  1. 我现在将公共服务部署在服务器上,biz服务跑在本地、gateway也跑在本地,但是当我调用服务器上的公共服务时,报500错误;nacos上所有的服务注册的也没问题,本地和服务器可以ping通


  2. image.png

2. image.png

3.image.png


image.png

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


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

2.9.1商业版。windows

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


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

2条回答
  •  admin
    admin (楼主)
    2023-06-01 12:10

    你先把所有服务部署到服务器,看看能不能跑通。

    全部跑通的前提,再开启本地的服务gateway+服务进行本地调试,具体见文档 5.19章节 团队协作自定义负载配置

    作者追问:2023-06-01 12:10

    1、所有服务部署到服务器可以跑通(我预生产环境已经稳定运行2年)

    2、按照团队协作文档进行配置无效,仍然报500错误,我看之前群里也有人问这个问题,请正面回答将此问题处理掉!!!

    回答: 2023-06-01 12:10

    什么才叫正面回答?帖子描述的不够,我们光靠猜么?想让我们解决问题那你也要先把问题都描述完整才行哦。比如你本地负载是怎么配置的,配置文件截图是什么,本机与服务器ping通的截图,每个服务注册到nacos的ip是什么,注册上去的服务对应端口有没有开通,光ping通ip但端口不开也是没用的。

    不是光几个简单的描述和局部的截图就能帮你们解决问题,你说看到群里有人没成功,但我们看到的更多是成功的例子。

    如果你实在解决不了或者不知道怎么描述问题,请把部署的测试环境对外开放,并把地址发给我们邮件,我们安排调试:bladejava@qq.com

    作者追问:2023-06-01 12:10

    1、本地负载配置以及截图如下

    image.png

    2、本地与服务器ping通截图

    image.png

    3、每个服务注册到nacos上的IP

    image.png


    image.png

    image.png

    4、服务器上开通的端口为8848、9848、9849,至于您说的【注册上去的服务对应端口有没有开通,光ping通ip但端口不开也是没用的】,我不清楚还需要开通什么端口,我看原来的帖子并未提及开通端口

    image.png

    上述如果描述不够清楚的话,我可以发想你发测试环境地址!

    回答: 2023-06-01 12:10

    看下java服务的端口是否开通了,因为流程是先从本机的gateway调用到nacos,然后nacos返回服务的ip与端口,本机再去调用对应的ip+端口。

    如果服务端口没有开通,那么哪怕是ping通了,也是无法调用的。


    你先把这些端口都开通,让本机访问服务器上的服务+ip端口是否可以成功,接着再通过gateway调用,如果调试依旧不通过,麻烦把ip+端口开通至外网,然后发一封邮件,之后我们就可以开始帮你调试找问题了。

    image.png

    作者追问:2023-06-01 12:10

    外网端口已映射,邮件已发

    回答: 2023-06-01 12:10

    你要先理清楚nacos调用的逻辑。

     1. 本机把gateway注册到nacos

     2. 本地调用gateway,访问blade-system服务

     3. gateway去nacos获取blade-system服务的注册地址端口,比如 10.x.x.10:8106

     4. gateway把 localhost/blade-system/user/list 转换成 10.x.x.10:8106/user/list

     5. 那问题就在于你本地能不能访问到 10.x.x.10:8106/user/list

     6. 你现在把8106端口改成38106给我们,我们调用还是会访问 10.x.x.10:8106/user/list,依旧不通

     7. 所以需要你把什么端口注册到nacos,就映射出一样的端口才行

     8. 这样本机才能通过gateway去nacos获取远程服务地址,再调用成功

     

提交回复