什么是网关
API网关是一个服务器,是系统的唯一入口。从面向对象设计的角度看,它与外观模式类似。API网关封装了系统内部架构,为每个客户端提供一个定制的API。它可能还具有其它职责,如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响应处理。
API网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入微服务,在网关层处理所有的非业务功能。通常,网关也是提供REST/HTTP的访问API。服务端通过API-GW注册和管理服务
网关的分类
传统网关的分类大致分为流量网关和业务网关
流量网关:提供全局性的、与后端业务无关的策略配置,常见的技术有Nginx、OpenResty、Kong、Zuul
业务网关:提供独立业务级,与后端业务紧密配合的策略配置,如Spring Cloud Gateway
传统网关的部署模式
传统网关是经典的两层架构模式,流量网关负责南北向流量调度,常见的场景如IP黑白名单、负载均衡、转发策略等,而微服务网关负责东西向流量,主要是服务之间的调度及服务治理。
试想下,在容器技术与k8s主导的云原生时代,网关的模式还是这样的吗?
云原生网关产品画像
下一代网关需要的能力
k8s下传统网关模式 转向 下一代网关模式
这种模式的好处
- 将两层架构模式合二为一,变成一层架构网关模式,用户资源成本直降50%
- 客户运维压力也会随之减少,只需要维护一个网关服务