kjyiyi 2020-10-10
以及如何充分利用两者
如果您从事微服务,那么您可能已经多次听说过这两个术语。 人们常常在两者之间感到困惑。 在本文中,我将详细讨论服务网格和API网关,并讨论何时使用。
网络层刷新
在深入研究服务网格和API网关之前,让我们重新访问网络层。 以下是OSI网络层模型:
进行此更新的原因是,我们将在下一部分中讨论其中的一些层。
服务网格
服务网格是一种管理分布式软件系统中服务到服务通信的技术。 服务网格管理东西向的网络通信。 东西向流量表示数据中心,Kubernetes集群或分布式系统内部的流量。
服务网格包含两个重要组件:
驻留在应用程序旁边的代理称为数据平面,而协调代理行为的管理组件称为控制平面。
服务网格使您可以将应用程序的业务逻辑与网络,可靠性,安全性和可观察性分开。
网络和流量管理
服务网格允许您执行动态服务发现。 Sidecar代理可以帮助您进行负载平衡和速率限制。 它可以帮助您进行流量拆分,以执行A / B类型的测试,这对于发布Canary版本很有帮助。
可观察性和可靠性
服务网格支持分布式跟踪,可帮助您进行高级监视(请求数,成功率和响应延迟)和调试。 它甚至具有利用服务间通信来更好地理解通信的能力。
由于服务网格提供了运行状况检查,重试,超时和电路中断,因此可以提高应用程序的基准可靠性。
安全
服务网格允许服务之间的相互TLS,这有助于提高服务到服务通信的安全性。 您还可以将访问控制列表(ACL)实施为安全策略。
真正的服务网格/边车代理支持广泛的服务,并实现L4 / L7流量策略。
市场上有许多可用的服务网格。 以下是其中一些:
您可以在互联网上找到许多比较上面列出的服务网格的文章。
API网关
API网关充当进入集群,数据中心或一组分布式服务的单个入口点。 在网络拓扑中,通常称为南北向流量。 通常,移动客户端属于这种类型的网络流量。
人们最终很有可能最终会使用API网关在同一数据中心内部署的两种产品之间进行通信。 在这种情况下,交通类型可以是东西向。
API网关接收来自客户端的调用,并将其路由到适当的服务。 在这样做的同时,它也可以翻译协议。
使用API网关有很多好处:
API网关通常仅关注L7策略。
API网关的类型
从部署的角度来看,可以使用两种方式使用API网关:
市场上有许多API网关。 以下是其中一些:
何时使用什么
现在您已经了解了什么是服务网格和API网关,让我们尝试了解何时使用什么。
何时使用服务网格
何时使用API网关