Mashape開源了他們的API層:Kong。
Kong是在客戶端和(微)服務(wù)間轉(zhuǎn)發(fā)API通信的API網(wǎng)關(guān),通過插件擴(kuò)展功能。Kong有兩個(gè)主要組件:
Kong Server :基于nginx的服務(wù)器,用來接收API請(qǐng)求。
Apache Cassandra :用來存儲(chǔ)操作數(shù)據(jù)。
你可以通過增加更多Kong Server機(jī)器對(duì)Kong服務(wù)進(jìn)行水平擴(kuò)展,通過前置的負(fù)載均衡器向這些機(jī)器分發(fā)請(qǐng)求。根據(jù)文檔描述,兩個(gè)Cassandra節(jié)點(diǎn)就足以支撐絕大多數(shù)情況,但如果網(wǎng)絡(luò)非常擁擠,可以考慮適當(dāng)增加更多節(jié)點(diǎn)。
對(duì)于開源社區(qū)來說,Kong中最誘人的一個(gè)特性是可以通過插件擴(kuò)展已有功能,這些插件在API請(qǐng)求響應(yīng)循環(huán)的生命周期中被執(zhí)行。插件使用Lua編寫,而且Kong還有如下幾個(gè)基礎(chǔ)功能:HTTP基本認(rèn)證、密鑰認(rèn)證、CORS( Cross-origin Resource Sharing,跨域資源共享)、TCP、UDP、文件日志、API請(qǐng)求限流、請(qǐng)求轉(zhuǎn)發(fā)以及nginx監(jiān)控。
Kong包可運(yùn)行在某些Linux發(fā)行版、Mac OS X和Docker中,無論是本地機(jī)還是云端服務(wù)器皆可運(yùn)行。
除了免費(fèi)的開源版本,Mashape還提供了付費(fèi)的企業(yè)版,其中包括技術(shù)支持、使用培訓(xùn)服務(wù)以及API分析插件。