50

service mesh与api gateway有何不同?

 6 years ago
source link: http://dockone.io/article/5988?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Kasun Indrasiri

service mesh与api gateway的关键特征可以帮助我们更好的区分两者。

API Gateway: 将服务作为托管api暴露给外部

api gateway的核心目标是将微服务作为托管的api暴露给外部系统,我们在api gateway层开发api或是边界服务以提供特定的业务功能。

api/边界服务调用下游微服务,并包含业务逻辑的多个服务下游服务组合。

api/边界服务同时需要以弹性的方式调用下游服务,并应用多种稳定性相关模块,例如断路器、超时、负载均衡/故障转移等等。大多数api gateway解决方案均内置以上模块或功能。

api gateway往往同时包含内置的服务发现、分析(指标、监控、分布式日志、分布式跟踪)以及安全。

api gateway常与api管理生态中的一些其他组件协作,例如api商店、api分发门户。

service mesh

那么再看看service mesh有何不同。

我们可以认为service mesh是网络通信基础设施,它允许我们从服务代码中剥离大部分应用网络功能。

在service mesh下,我们处理service-to-service通信时,不需要刻意在服务代码中实现包括断路器、超时等弹性通信功能特性。同样的,service mesh提供服务发现、监控等功能。

api gateway和service mesh

api gateway和service mesh最大的不同在于,api gateway是暴露api/边界服务的关键部分,而service mesh仅仅是一种服务间通信的基础设施,不包含任何业务概念。

BbeeY3j.png!web

上图说明了api gateway和service mesh的所处。除了上面提到的不同点,api gateway和service mesh之间存在着很多重叠特性,但需要特别注意的是两者所针对的要求和需求不同。

图中service mesh以sidecar形势,与其他服务一起部署,独立于服务的业务功能。

而api gateway托管了所有的api服务,属于业务功能解决方案的一部分。api gateway可能会包含服务间通信的支持,但并不影响api gateway通过service mesh来调用下游服务。

阅读更多

开源PaaS Rainbond 原生支持Service Mesh服务网格,用非入侵、透明化的方式解决服务发现和注册、弹性伸缩与负载均衡、容错处理(断路器与限流)、监控与警报、数据存储与共享、日志分析等等微服务架构难题,提供开箱即用、简单强大的微服务体验。

请访问 Rainbond 或试用 公有云 进一步了解Rainbond如何实现Service Mesh微服务治理


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK