2019-05-05

1、功能介紹

KONG是Mashape開源的高性能、高可用的API網(wǎng)關(guān)和API服務(wù)管理層,它基于Nginx服務(wù)器,底層引擎使用OpenResty構(gòu)建,插件層基于Lua語言開發(fā)。
Kong運行時,每個API請求都先被Kong命中,然后請求會被代理轉(zhuǎn)發(fā)到最終API接口,在requests和responses之間,所有安裝和配置的插件都會被執(zhí)行。

  • 可以通過插件擴(kuò)展已有功能,提供的服務(wù)包括:
  • HTTP基本認(rèn)證、秘鑰認(rèn)證
  • CORS(跨域資源共享標(biāo)準(zhǔn))、TCP、UDP
  • 文件日志、API請求限流、請求轉(zhuǎn)發(fā)、Nginx監(jiān)控
  • KONG與傳統(tǒng)API網(wǎng)關(guān)相比的優(yōu)點:


    image.png

2、主要組件

  • Kong Server:基于Nginx服務(wù)器,用來接收API請求
  • Apache Cassandra、PostgreSQL:用來存儲操作數(shù)據(jù)
  • Kong dashboard:官方推薦UI管理工具

3、網(wǎng)關(guān)插件

  • 身份認(rèn)證插件:Basic Authentication、Key authentication、OAuth2.0 authentication、HMAC authentication、JWT、LDAP authentication
  • 安全控制插件:ACL(訪問控制)、CORS(跨域資源共享)、動態(tài)SSL、IP限制、爬蟲檢測實現(xiàn)
  • 流量控制插件:請求限流(基于請求計數(shù)限流)、上游響應(yīng)限流(根據(jù)upstream響應(yīng)計數(shù)限流)、請求大小限制。限流支持本地、Redis和集群限流模式
  • 分析監(jiān)控插件:Galileo(記錄請求和響應(yīng)數(shù)據(jù),實現(xiàn)API分析)、Datadog(記錄API Metric如請求次數(shù)、請求大小、響應(yīng)狀態(tài)和延遲,可視化API Metric)、Runscope(記錄請求和響應(yīng)數(shù)據(jù),實現(xiàn)API性能測試和監(jiān)控)
  • 協(xié)議轉(zhuǎn)換插件:請求轉(zhuǎn)換(在轉(zhuǎn)發(fā)到upstream之前修改請求)、響應(yīng)轉(zhuǎn)換(在upstream響應(yīng)返回給客戶端之前修改響應(yīng))
  • 日志應(yīng)用插件:TCP、UDP、HTTP、File、Syslog、StatsD、Loggly等

4、網(wǎng)關(guān)特性

  • 可擴(kuò)展性:基于Nginx可以水平擴(kuò)展多個Kong服務(wù)器,同時通過前置的負(fù)載均衡配置把請求均勻的分發(fā)到各個Server
  • 模塊化:可以通過添加新的插件進(jìn)行擴(kuò)展,插件可以通過RESTful Admin API輕松配置
  • Kong核心基于OpenResty(OpenResty是一個基于Nginx與Lua的高性能Web平臺,用于方便的搭建能夠處理超高并發(fā)、擴(kuò)展性極高的動態(tài)Web應(yīng)用、Web服務(wù)和動態(tài)網(wǎng)關(guān)),實現(xiàn)了請求、響應(yīng)的Lua處理化
  • 通過實現(xiàn)請求、響應(yīng)的AOP處理,實現(xiàn)攔截請求、響應(yīng)生命周期
  • 通過Kong Restful 提供API、API消費者、插件的管理
    構(gòu)建
  • Kong集群中的節(jié)點通過gossip協(xié)議自動發(fā)現(xiàn)、同步配置信息到其他節(jié)點。


    image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容