服務(wù)API網(wǎng)關(guān)-kong初探-1

      網(wǎng)友投稿 831 2025-04-04

      一 概述

      Kong是一個clould-native、快速的、可擴(kuò)展的、分布式的微服務(wù)抽象層(也稱為API網(wǎng)關(guān)、API中間件或在某些情況下稱為服務(wù)網(wǎng)格)框架。更確切地說,Kong是一個在Nginx中運(yùn)行的Lua應(yīng)用程序,并且可以通過lua-nginx模塊實(shí)現(xiàn)。Kong不是用這個模塊編譯Nginx,而是與OpenResty一起發(fā)布,OpenResty已經(jīng)包含了lua-nginx-module。OpenResty 不是 Nginx的分支,而是一組擴(kuò)展其功能的模塊。

      這為可插拔架構(gòu)奠定了基礎(chǔ),可以在運(yùn)行時啟用和執(zhí)行Lua腳本(稱為*“插件”*)。因此,我們認(rèn)為Kong是微服務(wù)架構(gòu)的典范:它的核心是實(shí)現(xiàn)數(shù)據(jù)庫抽象,路由和插件管理。插件可以存在于單獨(dú)的代碼庫中,并且可以在幾行代碼中注入到請求生命周期的任何位置。Kong作為開源項(xiàng)目在2015年推出,它的核心價值是高性能和可擴(kuò)展性。

      Kong被廣泛用于從初創(chuàng)企業(yè)到全球5000家公司以及政府組織的生產(chǎn)環(huán)境中。

      如果構(gòu)建Web、移動或IoT(物聯(lián)網(wǎng))應(yīng)用,可能最終需要使用通用的功能來實(shí)現(xiàn)這些應(yīng)用。Kong充當(dāng)微服務(wù)請求的網(wǎng)關(guān)(或側(cè)車),通過插件能夠提供負(fù)載平衡、日志記錄、身份驗(yàn)證、速率限制、轉(zhuǎn)換等能力。

      一個service可以創(chuàng)建多個routes,routes就相當(dāng)于前端配置,可以隱藏業(yè)務(wù)真正的接口地址,service指定后端真實(shí)的轉(zhuǎn)發(fā)接口地址,在kong上進(jìn)行認(rèn)證/鑒權(quán)/日志/分析/監(jiān)控等控制。

      二 特性

      云原生(Cloud-Native):Kong可以在Kubernetes或物理環(huán)境上運(yùn)行;

      動態(tài)負(fù)載平衡(Dynamic Load Balancing):跨多個上游服務(wù)的負(fù)載平衡業(yè)務(wù)。

      基于哈希的負(fù)載平衡(Hash-based Load Balancing):一致的散列/粘性會話的負(fù)載平衡。

      斷路器(Circuit-Breaker):智能跟蹤不健康的上游服務(wù)。

      健康檢查(Health Checks):主動和被動監(jiān)控您的上游服務(wù)。

      服務(wù)發(fā)現(xiàn)(Service Discovery):解決如Consul等第三方DNS解析器的SRV記錄。

      無服務(wù)器(Serverless):從Kong中直接調(diào)用和保證AWS或OpenWhisk函數(shù)安全。

      WebSockets:通過WebSockets與上游服務(wù)進(jìn)行通信。

      OAuth2.0:輕松的向API中添加OAuth2.0認(rèn)證。

      日志記錄(Logging):通過HTTP、TCP、UDP記錄請求或者相應(yīng)的日志,存儲在磁盤中。

      安全(Security):ACL,Bot檢測,IPs白名單/黑名單等。

      系統(tǒng)日志(Syslog):記錄信息到系統(tǒng)日志。

      SSL:為基礎(chǔ)服務(wù)或API設(shè)置特定的SSL證書。

      監(jiān)視(Monitoring):能夠?qū)崟r對關(guān)鍵負(fù)載和性能指標(biāo)進(jìn)行監(jiān)控。

      轉(zhuǎn)發(fā)代理(Forward Proxy):使端口連接到中間透明的HTTP代理。

      認(rèn)證(Authentications):支持HMAC,JWT和BASIC方式進(jìn)行認(rèn)證等等。

      速率限制(Rate-limiting):基于多個變量的阻塞和節(jié)流請求。

      轉(zhuǎn)換(Transformations):添加、刪除或操作HTTP請求和響應(yīng)。

      緩存(Caching):在代理層進(jìn)行緩存和服務(wù)響應(yīng)。

      命令行工具(CLI):能夠通過命令行控制Kong的集群。

      REST API:可以通過REST API靈活的操作Kong。

      GEO復(fù)制:在不同的區(qū)域,配置總是最新的。

      微服務(wù)API網(wǎng)關(guān)-kong初探-1

      故障檢測與恢復(fù)(Failure Detection & Recovery):如果Cassandra節(jié)點(diǎn)失效,Kong并不會受影響。

      群集(Clustering):所有的Kong節(jié)點(diǎn)會自動加入群集,并更新各個節(jié)點(diǎn)上的配置。

      可擴(kuò)展性(Scalability):通過添加節(jié)點(diǎn),實(shí)現(xiàn)水平縮放。

      性能(Performance):通過縮放和使用Nigix,Kong能夠輕松處理負(fù)載。

      插件(Plugins):基于插件的可擴(kuò)展體系結(jié)構(gòu),能夠方便的向Kong和API添加功能。

      三 依賴組件

      Kong部署在Nginx和Apache Cassandra或PostgreSQL等可靠技術(shù)之上,并提供了易于使用的RESTful API來操作和配置系統(tǒng)。下面是Kong的技術(shù)邏輯圖。基于這些技術(shù),Kong提供相關(guān)的特性支持:

      3.1 Nginx

      經(jīng)過驗(yàn)證的高性能基礎(chǔ);

      HTTP和反向代理服務(wù)器;

      處理低層級的操作。

      3.2 OpenRestry

      支持Lua腳本;

      攔截請求/響應(yīng)生命周期;

      基于Nginx進(jìn)行擴(kuò)展。

      3.3 Clustering&Datastore

      支持Cassandra或PostgreSQL數(shù)據(jù)庫;

      內(nèi)存級的緩存;

      支持水平擴(kuò)展。

      3.4 Plugins

      使用Lua創(chuàng)建插件;

      功能強(qiáng)大的定制能力;

      與第三方服務(wù)實(shí)現(xiàn)集成。

      3.5 Restful Administration API

      通過Restful API管理Kong;

      支持CI/CD&DevOps;

      基于插件的可擴(kuò)展。

      四 架構(gòu)圖

      API Docker NAT 微服務(wù)

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:Excel可以截圖嗎如何將鼠標(biāo)選中的單元格區(qū)域復(fù)制粘貼為圖片(如何將截圖粘貼到excel表格里)
      下一篇:Verilog HDL 訓(xùn)練】第 03 天
      相關(guān)文章
      亚洲1区2区3区精华液| 亚洲一级毛片免观看| 亚洲精品无码高潮喷水A片软| 亚洲福利电影一区二区?| 国产亚洲精品不卡在线| 狼人大香伊蕉国产WWW亚洲| 亚洲码和欧洲码一码二码三码| 亚洲成人网在线播放| 亚洲精品国产成人中文| 亚洲国产精品网站久久| 亚洲视频欧洲视频| 亚洲日本在线播放| va天堂va亚洲va影视中文字幕| 亚洲伊人久久大香线蕉结合| 亚洲中文久久精品无码1 | 7777久久亚洲中文字幕| 亚洲久悠悠色悠在线播放| 一本色道久久88亚洲精品综合| 亚洲日日做天天做日日谢| 亚洲日韩av无码中文| 亚洲精品国产综合久久久久紧| 亚洲aⅴ无码专区在线观看| 久久久亚洲精华液精华液精华液| 在线精品自拍亚洲第一区| 国产偷窥女洗浴在线观看亚洲| 国产精品亚洲不卡一区二区三区| 亚洲日韩精品无码专区网址| 亚洲国产精彩中文乱码AV| 伊人久久综在合线亚洲2019| 亚洲国产精品成人久久久| 亚洲日产乱码一二三区别| 亚洲AV无码专区在线观看成人 | 亚洲AV无码一区二区三区在线观看| 亚洲欧洲日本在线| 亚洲国产精品成人久久| 亚洲色欲www综合网| 亚洲熟女精品中文字幕| 亚洲国产精品成人一区| 好看的电影网站亚洲一区| 亚洲精品一区二区三区四区乱码| 久久国产亚洲精品|