网关的概述(基本概念):
网关旨在为微服务架构提供一种简单而有效的统-的API路由管理方式。
在微服务架构中,不同的微服务可以有不同的网络地址,各个微服务之间通过互相调用完成用户请求,客户端可能通过调用N个微服务的接口完成一个用户请求。
存在的问题:
客户端多次请求不同的微服务,增加喀户端的复杂性
认证复杂,每个服务都要进行认证
http请求不同服务次数增加,性能不高
网关就是系统的接口,封装了应用程序的内部结构,为客户端提供统一服务,一些与业务本身功能无关的公共逻辑可以在这里实现,例如:认证、鉴权、监控、缓存、复杂均衡、流量管控、路由转发等。
在目前的网关解决方案里,有Nginx+lua、Netflix Zuul、Spring Cloud Gateway等等。