微服务网关与微服务体系无缝协作,将基于微服务架构的业务应用服务快速、直接发布成API。微服务网关目前支持Spring Cloud Gateway、Zuul和Kong三种引擎类型。本文根据不同微服务体系给出一些选择网关类型的建议,以帮助您完成选型决策。

Spring Cloud和Dubbo应用

如果您的业务应用服务是Spring Cloud或Dubbo体系,建议您选择Spring Cloud Gateway和Zuul。

以下列举Spring Cloud Gateway和Zuul的一些优势:
  • 服务发现:集成了Spring Cloud体系的注册中心组件(Nacos、Eureka和ZooKeeper),实现服务的注册、发现与动态分发。
  • 全链路追踪:集成了阿里云应用实时监控服务ARMS,可以在ARMS控制台集中查询请求全链路,及时发现和解决异常。
  • 限流降级:集成了阿里云应用高可用服务AHAS,在大促等流量高峰场景中,微服务网关统一配置限流熔断阈值,保护后端服务,逐步化解访问压力,提供持续服务能力。
  • 丰富策略:兼容Spring Cloud Gateway和Zuul的开源策略,并提供了自研的登录鉴权、黑白名单,多级路由等策略。

多语言应用

如果您的业务应用服务是多语言应用,建议您选择Kong。

以下列举Kong的一些优势:
  • 性能:对于非Java语言的微服务体系,三种引擎类型在能力上没有明显区别,Kong引擎的性能更好,且支持GRPC这种常见的多语言协议。
  • 集成K8s:Kong网关与阿里云容器服务Kubernetes版结合的更紧密,目前已经提供了Kong Ingress Controller,且后续会继续无缝集成。