网关就是微服务-19.什么

一.网关

曾经我们的工程是单体计划,前端只需要请求8080端口,就可以获取所有要求的资料和服务并进行渲染。

但是拆分成微服务后,会面临几大问题:

1.但是现在我们将该单体计划拆分成了微服务项目,每个项目都有自己独立的端口号,那么前端在发起请求时如何知道去请求哪一个微服务,又如何知道请求的端口号是多少呢?

除了上述描述的困难外,当大家将微服务部署到线上时,其ip地址和端口号又会发生变化,那么前端又该如何获取到呢?

2.很多微服务都应该用户登录,用户登录得jwt令牌,难道每个服务中都要编写一份用户登录校验的逻辑吗?这未免十分麻烦.

此外如果给每个微服务都下发了密钥,那么会大大加大密钥泄露的风险.

综上问题,我们引入了网关的概念.

大家有了网关之后,所有的请求都发给网关地址,由网关去寻找需要转发的路由,这就是网关的路由转发功能.

此外在转发时,网关会自己做负载均衡,从而将多实例部署的集群优势发挥到最大,避免出现所有请求都打到一个服务器上的情况.

那么网关如何知道各个微服务的情况呢?那就要用到之前大家讲过的注册中心.

此外在请求网关时会进行身份校验,从而解决用户登录校验以及jwt令牌携带和密钥泄露的困难.

有了网关,后端对于前端来说就是一个黑盒,这样会提高前端的开发体验,对于前端来说和单体架构没什么区别.

当前网关实现技巧有很多,我们关键采用第一种:Spring Cloud Gateway.

posted @ 2025-08-26 11:34  yjbjingcha  阅读(6)  评论(0)    收藏  举报