在微服务领域,我们已经使用Zuul作为API网关已有一段时间了,最近我们决定迁移到Kubernetes,并选择一种更加云原生的方式。
在进行了调查并浏览了Istio文档之后,我们对Kubernetes中的API网关选择存在一些疑问:
答案 0 :(得分:1)
我假设Zuul提供了许多功能,作为流量管理,路由和安全功能的边缘服务。根据微服务架构模式Design,它必须声明API网关是外部客户端访问微服务的要点。但是,Zuul需要以某种方式发现底层微服务,对于Kubernetes,您可能需要改编Kubernetes Discovery Client,后者定义了API Gateway如何检测路由并将网络流量传输到嵌套服务的规则。
根据设计,Istio代表服务网格architecture,并成为平滑集成的面向Kubernetes的解决方案。这里的主要概念是通过将边车注入Kubernetes Pods中来使用Envoy代理的高级版本,而无需更改或重写现有部署,也无需使用任何其他方法来进行服务发现。 Zuul API网关可以完全由Istio Gateway资源代替,作为入口或出口HTTP(S)/ TCP连接的边缘负载平衡器。 Istio包含一组traffic management功能,可以包含在常规配置中。
您可能对Istio功能设施的其他基本概念感兴趣,例如:
答案 1 :(得分:0)
我们使用Kong Gateway。这是非常简单的基于nginx的网关。易于安装,随时可用。