首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该使用API网关还是服务网格?

问我应该使用API网关还是服务网格?
EN

Stack Overflow用户
提问于 2019-04-06 17:54:09
回答 4查看 832关注 0票数 3

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

如果你在微服务前面使用API网关(例如Azure API网关)来处理复合UI和身份验证,你还需要Service Mesh来处理服务发现和断路器吗?Azure API Gateway中有没有什么功能来处理这些挑战?怎么做?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-04-06 18:13:45

API网关只处理进入Kubernetes集群的入口点,例如,它向您的前端微服务发送请求。但是,在请求进入集群后,它什么也做不了。微服务之间可能仍然存在多个调用。您仍然希望验证这些请求的身份验证,您仍然希望确保服务之间存在断路器,等等。理论上,您可以确保所有微服务通过API网关相互调用,但我认为这不是您想要的。

简而言之:不,因为API网关只是一个入口点,所以任何服务到服务的通信都最好使用service Mesh来处理。

票数 3
EN

Stack Overflow用户

发布于 2019-04-07 02:06:06

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

另一方面,服务网格的工作方式类似于代理或侧车模式,它将服务的通信责任解耦,并处理其他问题,如断路器故障、超时故障、重试故障、服务发现等。

如果你碰巧使用Kubernetes和微服务,那么你可能想要探索其他解决方案,比如Ambassador + Istio或Kong,它既可以作为网关,也可以作为服务网格。

票数 7
EN

Stack Overflow用户

发布于 2019-04-06 23:40:58

您可以使用API网关来处理服务发现和断路器-但这将使其成为部署的中心点,即所有外部和内部呼叫都必须通过网关路由。

服务网格在每个服务旁边部署一个额外的边缘组件("sidecar"),使整个行为分布(但也更复杂)

根据您的特定需求,您可以使用一种、另一种、两种或不使用

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55547886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档