本地开发cloud不想启动基础服务只启动biz(服务器已部署),前端支持访问服务后端接口和本地新开发得接口

Blade 未结 2 1450
hongjl
hongjl 2020-09-14 12:41

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

1. 这边服务器上面部署了cloud得基础服务,本地开发得时候,我不想起那些基础服务,只启动个biz ,然后前端得代码启动后都是默认请求localhost

2. 

3.


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


1. 本地开发cloud 上得项目时,只需要启动biz 项目,然后前端开发请求能够实现对接线上得基础服务,本地新开发得服务可以联调


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




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


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

2条回答
  •  admin
    admin (楼主)
    2020-09-14 13:35

    你需要按照如下步骤操作:

     1. 有一个前提,本地开发机与服务器的网络需要相互联通

     2. 部署一个nacos,其网络与服务器、本地开发机互相联通

     3. 在服务器部署cloud服务(gateway除外)后,注册到刚刚部署的nacos

     4. 本地启动biz,将服务注册到nacos

     5. 本地启动gateway,暴露出gateway的ip+端口

     6. 前端针对gateway的ip+端口进行反向代理

     7. 后续有请求来的时候,具体流程如下:用户访问前端->访问前端代理的gateway地址->gateway服务在nacos检索到注册的对应cloud服务地址->gateway内部机制进行调用->访问到对应的服务,将响应结果一层一层返回至前端

     8. 有响应后,前后端就可以正常交互了

    作者追问:2020-09-14 13:35

    1. 第一个问题ping 通

    image.png

    2. ok

    3. gateway 不启动?第三点不是很理解

    4. 已注册

    image.png

    5. 服务器上门得gateway 不处理是吧? -- 这个不理解,5 开始就有点看不懂了


    回答: 2020-09-14 13:35

     gateway不需要在服务器部署,只要本地启动就行,这样方便调试

     暴露gateway的ip+端口意思就是保证端口开启,可以被前端反向代理联通

    作者追问:2020-09-14 13:35

    我现在还是昨天那个问题,cloud 服务器上部署了服务,然后关掉服务上gateway,并将其余服务的端口都开了, 本地启动了biz 项目里面demo 和 gateway 服务,然后现在前端 target 的路径是http://localhost , 启动后前端运行时报502,前端target 换成 http://我服务器的ip,现在成功,但是验证码接口200, 但是没有返回验证码?


    image.png

    回答: 2020-09-14 13:35

    感觉你对整个运行流程都没有理解,我现在总体说一下:
     1. 后端微服务部署的情况下已经不区分是bladex还是bladex-biz了,因为打包后都是一个一个jar,与工程无关,他们已经可以看作是一个整体了

     2. 服务注册到nacos后,会把自己的ip和端口同步注册,这样nacos就可以看到每个服务对应的ip和端口

     3. 至于为什么不需要把网关部署在服务器,而要启动本地网关,这样做是为了方便本地调试

     4. 本地网关启动后,只需要访问本地网关的地址+服务名,服务就会到nacos找到对应服务名的ip和端口,从而内部进行转发调用

     5. 前端配置的反向地址应该是网关地址,这里启动了本地网关,那么反向代理的地址就是本地网关的IP+端口,并把需要反代的地址端口缩写作为一个apikey,比如我们这里改成了/api

     6. 反向代理成功后,访问的仍然是前端自己的端口比如 http://localhost:1888

     7. 我们访问http://localhost:1888代表访问了前端,又因为配置了反代,那么访问http://localhost:1888/api的时候就相当于访问到了后端的网关地址,所以你表面上看访问的是localhost,但实际已经转发到自己的网关地址了,你是没有必要把他改成服务器ip的


    综上讲了这么多,已经把整个流程都讲完了,希望你能看明白,如果还不明白的话,那需要从头开始好好学习一下springcloud以及反向代理,不然是很难明白这一套流程的

    作者追问:2020-09-14 13:35

    好的好的,谢谢哈!

提交回复