api网关和微服务网关的定义,api网关和微服务网关有什么区别?

4747 408 2023-07-04


本文讲了api网关和微服务网关的定义,api网关和微服务网关有什么区别?

API网关(API Gateway)提供高性能、高可用、高安全的API托管服务,能快速将企业服务能力包装成标准API服务,帮助您轻松构建、管理和部署任意规模的API。借助API网关,可以简单、快速、低成本、低风险地实现内部系统集成、业务能力开放。

如果您作为API提供者,您可以将成熟的业务能力(如服务、数据等)作为后端服务,在API网关中开放API,并通过线下方式提供给API调用者使用,或者发布到API市场,实现业务能力变现。

如果您作为API调用者,您可以获取并调用API提供者在API网关开放的API,减少开发时间与成本。

例如,企业A在API网关中开放了电话号码归属地查询API,并发布到API市场。企业B通过API市场调用此API,并支付调用此API所产生的费用。此时,企业A通过开放业务能力,使自身服务能力变现,企业B直接调用企业A开放的API,减少开发时间与成本,最终实现企业间的共赢。

API网关服务简介.png

在想了解什么是API 网关 ( API Gateway ),首先我们需要了解什么是微服务。

微服务

image.png

微服务是一种用于构建应用的架构方案。微服务架构有别于更为传统的单体式方案,可将应用拆分成多个核心功能。每个功能都被称为一项服务,可以单独构建和部署,这意味着各项服务在工作(和出现故障)时不会相互影响。

我们依靠下面几个阶段来简单的了解一下,什么是微服务。

一、单机阶段 ( 所有服务一把梭 )

image.png

在一个项目的起步阶段,我们可能会把所有的功能放在一个项目内( 例如商城系统 )这样方便快速开发与迭代。

二、拓展阶段 ( 水平、垂直拓展 )

image.png

随着你公司的业务越来越大,服务越来越广,你将开始考虑进行水平或垂直拓展了。

水平拓展:简单说就是将服务放到多台机器上进行负载均衡。

垂直拓展:简单说就是提升单台服务器的性能( 俗称氪金 )

三、微服务阶段 ( 对服务进行拆分 )

当你的公司变得更大,开发人员也变得多而杂。项目也随着时间变得特别臃肿的时候。你就需要将服务进行拆分,人员按照服务类型进行分组。

例如商城系统,可以分为 用户系统、交易系统、商品系统等等。

为什么要有API 网关?

我们已经了解了什么是微服务。那么为什么微服务要有API 网关呢?

疯狂的客户端 ( Mad client )

哈哈,开个玩笑的标题。

如果不使用 API 网关,那么你将会立马面临一个棘手的问题。

image.png

如图所示,当你有三个服务( 服务1、服务2、服务3 )时,如果没有API 网关,你的客户端就需要记住每个微服务的地址。例如:服务1 ( http://xxx.com )、服务2 ( http://yyy.com )、服务3 (

http://zzz.com )。

当你有几十个微服务时,相信我,你的前端一定会把你杀了的。

当然,Api 网关可不仅仅有路由的功能。

api网关和微服务网关

二者的联系

微服务网关。微服务的概念最早在2012年提出,在Martin Fowler的大力推广下,微服务在2014年后得到了大力发展。 在微服务架构中,有一个组件可以说是必不可少的,那就是微服务网关,微服务网关处理了负载均衡,缓存,路由,访问控制,服务代理,监控,日志等。API网关在微服务架构中正是以微服务网关的身份存在。

Ok,为什么我们需要一个API网关呢?

image.png

如图所示,它展示了一个乐队,然后有个指挥家,下面一堆人(微型服务)演奏自己的乐器。这个指挥家(API网关)可以以某种方式来协调我们的架构如何处理请求。

API 网关模式意味着你要把API 网关放到你的微服务们的最前端,并且要让API 网关变成由应用所发起的每个请求的入口。这样就可以明显的简化客户端实现和微服务应用程序之间的沟通方式。

以前的话,客户端不得不去请求Customers,然后再到Orders,然后是Invoices。客户端需要去知道怎么去一起来消费这三个不同的service。使用API网关,我们可以抽象所有这些复杂性,并创建客户端们可以使用的优化后的端点,并向那些模块们发出请求。

API网关让我们的客户端不用再需要知道和关心模块的地址(address)了。网关负责来搞这些事情,你只需要知道网关就好了。你可以去改变实现而且还可以改变API接口。不过通常来说,你改变接口后,会增加客户端出问题的风险。

使用API网关后,你可以在单独的层上有效地抽象,这样你就可以更改实现和接口,同时保持现有客户端的公共接口相同。这意味着你总是可以做一些调整的事情。

API网关对于那些从单体转变到微服务的应用来说也是一个非常有帮助的工具。如果你现在维护一个单体应用,你就可以把一个API网关放到这个单体的最前面,然后你就慢慢地开始把单体拆分成很多的不同的微服务,在这个过程中,客户端就一直是通过API网关来保持自己的运作,这样让你的迁移过程更优雅!

API网关将随着时间的推移实现和消费后端的上游service,同时保持客户端的正常工作。拥有一个API网关可以帮助我们实现这样的过渡。

上文就是小编为大家整理的api网关和微服务网关的定义,api网关和微服务网关有什么区别?

国内(北京、上海、广州、深圳、成都、重庆、杭州、西安、武汉、苏州、郑州、南京、天津、长沙、东莞、宁波、佛山、合肥、青岛)API网关平台软件分析、比较及推荐。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:自动化接口测试平台介绍、推荐和对比
下一篇:浅谈静态变量、成员变量、局部变量三者的区别
相关文章

 发表评论

暂时没有评论,来抢沙发吧~