微服务项目-dev本地测试一般需要注意的问题
注意点一:调试哪个服务就启动哪个服务,不需要启动gateway服务
理论上不需要Gateway参与。如果这种远程调用涉及到对外暴露接口,即使是在子服务之间,也可以考虑通过Gateway来统一管理入口流量,增强系统的整体性和可控性。
.
简单理解就是在本地调试不需要启动gateway,因为本地调试是内网访问,可以互相访问,提高效率,但是一旦部署到外网,这个时候如果没有gatway统一入口的话,是不安全的,另外一个就是在外网配置了nginx或者其他代理服务器,代理服务器只能将请求代理转发到gateway网管服务,然后gateway网管服务才会根据实际路径转发到指定微服务上,这一套流程下来才是规范和安全的
注意点二:Nacos作为配置和注册中心,现在当其中的一个子服务中存在远程调用另外一个子服务的时候,gateway服务一定要运行起来嘛?
一个子服务要调用另一个子服务时,它们只需要向Nacos注册,并通过Nacos发现对方服务的地址来进行RPC(例如Dubbo、gRPC等)调用即可。子服务间的相互调用可以通过服务间直接注册和发现机制来完成,不一定非要依赖Gateway
注意点三: 在本地接口测试时,为啥会在header里加token,不加会报权限错误,但是在某个子服务里没看到token认证的代码?
当微服务中很多子服务,然后想要具体调试某个子服务,通常绝大多数情况要带token,一般token校验写在了common模块里面,这个模块是公共模块,也就意味着只要子服务的porm文件中引入这个common服务,就相当于把common的代码全部集成到当前子服务中,也就可以理解,当调试这个子服务,要加token的原因了