为什么需要网关?
传统的单体架构中只有一个服务开放给客户端调用,但是微服务架构中是将一个系统拆分成多个微服务,那么作为客户端如何去调用这些微服务呢?如果没有网关的存在,只能在本地记录每个微服务的调用地址。
无网关的微服务架构往往存在以下问题:
- 客户端多次请求不同的微服务,增加客户端代码或配置编写的复杂性。
- 认证复杂,每个服务都需要独立认证。
- 存在跨域请求,在一定场景下处理相对复杂。
网关的基本功能?
网关是所有微服务的门户,路由转发仅仅是最基本的功能,除此之外还有其他的一些功能,比如:认证、鉴权、熔断、限流、日志监控等等…
以上这些应用场景会在后续的文章详细介绍,不是今天的重点。
为什么选择Spring cloud Gateway?
在1.x版本中都是采用的Zuul网关;但在2.x版本中,zuul的升级一直跳票,Spring Cloud