首页 > 解决方案 > 我应该使用 API 网关还是服务网格?

问题描述

假设您将微服务与 Docker 容器和 Kubernetes 一起使用。

如果在微服务前使用 API 网关(例如 Azure API 网关)来处理复合 UI 和身份验证,是否还需要 Service Mesh 来处理服务发现和断路器?Azure API Gateway 中是否有任何功能可以应对这些挑战?如何?

标签: kubernetesmicroservicesistioapi-gateway

解决方案


API 网关应用于 OSI 模型的第 7 层,或者您可以说管理来自外部网络的流量(有时也称为北/南流量),而服务网格应用于 OSI 模型的第 4 层或管理服务间通信(有时也称为东/西交通)。API 网关功能的一些示例是反向代理、负载平衡、身份验证和授权、IP 列表、速率限制等。 

另一方面,Service Mesh 像代理或边车模式一样工作,它将服务的通信责任解耦并处理其他问题,例如断路器、超时、重试、服务发现等。

如果您碰巧使用 Kubernetes 和微服务,那么您可能想探索其他解决方案,例如Ambassador + IstioKong,它既可以用作网关,也可以用作服务网格。


推荐阅读