发布信息

Kong网关简介 API 网关 散布式

     2024-08-08 16:32:55     600

本文目录导航:

散布式 API 网关 Kong网关简介

走进散布式API的守护神:Kong网关详解

Kong,一款由Mashape公司开源的API Gateway,仰仗其高可用性和易裁减性,仰仗OpenResty(Nginx与Lua模块的完美融合)的弱小后台,成为现代运行架构中的关键一环。

它奇妙地将Apache Cassandra或PostgreSQL的数据存储才干与Nginx的负载平衡和处置才干相联合,为应答海量恳求提供了弱小保证。

Kong的外围由三个组件导致:

Kong的魅力在于其插件机制,准许开发者经过Lua编写丰盛的性能裁减。

目前,基础插件如HTTP认证、CORS、API限流、恳求转发等已笼罩到关键畛域,满足了多样化的场景需求。

Kong的出色个性

关于安保性,Kong提供了丰盛的认证选项,如基本认证、OAuth2、JWT,以及访问控制、CORS等插件,确保数据的合规性和安保性。

此外,流量控制、剖析和监控性能雷同弱小,如Galileo、Datadog和Runscope,协助提升性能并启动深度剖析。

Kong的恳求流程

每个API恳求首先由Kong捕捉,而后路由到指标服务,时期插件会处置恳求和照应,确保权限控制和性能裁减。

Kong是API恳求的首要入口点,也是剖析和智能化部署的关键节点。

Kong作为API网关的价值在于简化控制、提供集中监控、推进智能化流程,照成功一致的身份验证和部署战略,防止扩散和复杂性带来的困扰。

虽然Kong的插件系统自动性能丰盛,但企业级运行或者须要更初级的性能,如API级别的超时处置、缓存战略等,这时可以经过Lua裁减成功定制化。

总而言之,Kong以其弱小的API控制才干、灵敏性和裁减性,成为企业级API网关的首选。

假设你正在寻觅一个高效、可裁减的API处置打算,Kong无疑是值得深化钻研和通常的低劣选用。

究竟什么是api网关

假定你在开发一个电子商务网站,那么会有很多后端的微服务,比如会员、商品、介绍服务等等。

那么这里就有疑问了。

APP/阅读器如何访问这些后端服务?假设业务比拟便捷,可以给每个业务调配一个独立的域名(,然而这样会有几个疑问:每个企业都须要逻辑,如认证、电流限度和权限审核。

假设每个业务都是步伐一致,那么打造自己的轮子,放到一个一致的中央,会十分痛苦。

假设业务量比拟便捷,前期不会有疑问,然而随着业务越来越复杂,比如淘宝和亚马逊或者会触及上百个微服务一同上班。

假设每个微服务都调配一个域名,一方面客户端代码会很难保养,触及上百个域名,另一方面是衔接数的瓶颈。

构想一下,你关上一个APP,发现经过抓取套餐的方式触及到上百个远程呼叫,这是在移动端。

每次新业务上线,都须要运维的介入,比如放开域名,性能Nginx。

主机上线下线时,也须要运维的介入。

另外,驳回域名对环境的隔离也不友好,须要呼叫者依据域名做出自己的判别。

还有一个疑问。

后端的每个微服务或者用不同的言语编写,驳回不同的协定,如HTTP、Dubbo、GRPC等。

,然而你不能要求客户端去顺应那么多协定。

这是一项十分具备应战性的上班,名目会变得十分复杂,难以保养。

假设前期须要重构微服务,也会变得很费事,须要客户端配合你启动变革,比如商品服务。

随着业务越来越复杂,前期须要拆分红多个微服务。

这个时刻对外提供的服务也须要拆分红多个,客户端须要配合你去转型,这是很痛苦的。

【分享】什么是API网关?大公司为什么都有API网关?

在这篇文章中将咱们一同来讨论以后的API网关的作用。

一、API网关的用途 API网关我的剖析中会用到以下三种场景。

二、API网关在企业全体架构中的位置 一个企业随着消息系统复杂度的提高,肯定产生外部协作同伴运行、企业自身的公网运行、企业内网运行等,在架构上应该将这三种运行区别开,三种运行的布置级别、访问方式也不一样。

因此在我的设计中将这三种运行区分用不同的网关启动API控制,区分是:API网关(OpenAPI合伙同伴运行)、API网关(外部运行)、API网关(外部公网运行)。

三、企业中在如何运行API网关 1、关于OpenAPI经常使用的API网关来说,普通协作同伴要以运行的方式接入到OpenAPI平台,协作同伴须要到 OpenAPI平台放开运行。

因此在OpenAPI网关之外,须要有一个面向协作同伴的经常使用的平台用于协作同伴,这就要求OpenAPI网关须要提供API给这个用户平台启动访问。

如下架构: 当然假设是在便捷的场景下,或者并不须要提供一个面向协作同伴的门户,只要要由公司的经营人员间接减少协作同伴运行id/密钥等,这种状况下也就不须要协作同伴门户子系统。

2、关于内网的API网关,在起到的作用过去说可以以为是微服务网关,也可以以为是内网的API服务控制平台。

当企业将一切的运行经常使用微服务的架构控制起来,那么API网关就起到了微服务网关的作用。

而当企业只是将系统与系统之间的调用经常使用rest api的方式启动访问时经常使用API网关对调用启动控制,那么API网关起到的就是API服务控制的作用。

架构参考如下: 3、关于公司外部公网运行(如APP、公司的网站),假设控制上比拟粗疏,在架构上是或者由独立的API网关来处置这局部外部公网运行,假构想比拟便捷的处置,也可以是经常使用面向协作同伴的API网关。

假设经常使用独立的API网关,有以下的好处: • 面向协作同伴和面向公司主体业务的优先级不一样,不同的API网关可以做到业务影响的隔离。

• 外部API经常使用的控制流程和面向协作同伴的控制流程或者不一样。

• 外部的API在性能裁减等方面的需求普通会大于OpenAPI关于性能的要求。

基于以上的剖析,假设公司有才干,那么还是倡导离开经常使用协作同伴OPEN API网关和外部公网运行网关。

四、API网关处置打算 私有云处置打算如下: • Kong是基于Nginx+Lua启动二次开发的打算• Eolinker和Kong比拟凑近,然而由于是国际公司开发的,后续的技术支持和培训比拟友好。

• Netflix Zuul,zuul是spring cloud的一个介绍组件,• orange,这个开源程序也是国人开发的,不过这个是团体开发不是公司。

私有云处置打算: • Amazon API Gateway,• 阿里云API网关,• 腾讯云API网关,自开发处置打算: • 基于Nginx+Lua+ OpenResty的打算,可以看到Eolinker,Kong,orange都是基于这个打算。

• 基于Netty、非阻塞IO模型。

经过网上搜查可以看到国际的恼人贷等一些公司是基于这种打算。

• 基于的打算。

这种打算是运行了天生的非阻塞的个性。

• 基于java Servlet的打算。

zuul基于的就是这种打算,这种打算的效率不高,这也是zuul总是被诟病的要素。

五、企业怎样选用API网关 如今的亚马逊、阿里、腾讯云都在提供基础私有云的API网关,当然这些网关的基础性能必需是没有疑问,然而二次开发,裁减性能、监控性能或者就不能满足局部用户的定制需求了。

另外很多企业由于自身消息安保的要素,不能经常使用外网私有网的API网关服务,这样就只要选用私有云的打算了。

在需求上假设基于私有云的API网关只能做到由外部人员为外网人员放开运行,不可做到定制的协作同伴门户,这也不适宜于局部企业的需求。

假设作为微服务网关,大少数状况下是宿愿网关主机和服务提供方主机是要在内网的,在这里状况下也只要私有云的API网关才干满足需求。
散布式
综合下面的剖析,基础私有云的API网关只要满足一局部便捷客户的需求,关于很多企业来说私有云的API网关才是正确的选用。

相关内容 查看全部