轉載自:http://www.javashuo.com/article/p-eqjbbilm-kd.htmlgit
項目地址:https://github.com/eolinker/goku-api-gatewaygithub
官網地址:https://www.eolinker.com後端
咱們 EOLINKER 自2017年成立以來,立志於作全球領先的 API 管理平臺,咱們先是作了目前國內最大的在線API管理平臺(API Studio),而後在18年發佈了支持API場景(多個API關聯和數據傳遞)的API監控(API Beacon),今年咱們在思考還能爲企業客戶提供什麼更加深度的服務時,認爲API網關是一個關鍵的環節,可以幫助企業綜合管理企業內部的微服務API、更方便地對接第三方API以及更好地維護對外的API等。api
能夠說API網關是咱們在深刻API管理領域幾年以後天然而然要作的事情,而既然要作就努力往大了作,因而咱們作了更加大膽的決定:將核心代碼所有開源,而且不限制網關的節點,還提供了完整的管理界面,讓用戶能夠部署完成後當即投入使用。安全
可能有人不理解爲何開源代碼是一個大膽的決定,首先咱們是一個商業公司而不是公益開源基金會,開源意味着有一大部分收入的流失,其次放眼全球的開源產品幾乎都是不盈利的,每一年還須要投入大量的研發和維護成本等。服務器
那咱們爲何還要將一個公司的核心產品開源?負載均衡
由於一個公司的力量實在有限,若是咱們但願把 Goku API Gateway 作到全球一流的水平,將中國的技術產品輸出到海外去,開源社區和開發者的力量是必不可少的,所以這產品裏面包含着咱們的但願和情懷,但願證實在中國,像咱們同樣專一基礎技術領域的企業也能有好的將來。所幸的是咱們並不孤獨,在咱們前面有 Dubbo、TiDB 等優秀的開源項目,相信他們也和咱們同樣抱有但願在作着相似的事情。less
所以咱們將 Goku API Gateway 開源,正如它的中文名稱 「悟空」 通常,能在開源社區和咱們的共同努力下完成72變。運維
Goku API Gateway (中文名:悟空 API 網關)是一個基於 Golang 開發的微服務網關,可以實現高性能 HTTP API 轉發、服務編排、多租戶管理、API 訪問權限控制等目的,擁有強大的自定義插件系統能夠自行擴展,而且提供友好的圖形化配置界面,可以快速幫助企業進行 API 服務治理、提升 API 服務的穩定性和安全性。微服務
Goku API Gateway (悟空 API 網關)是運行在企業系統服務邊界上的微服務網關。當您構建網站、App、IOT甚至是開放API交易時,Goku API Gateway 可以幫你將內部系統中重複的組件抽取出來並放置在Goku網關上運行,如進行用戶受權、訪問控制、流量監控、防火牆、服務編排、數據轉換等。
Goku API Gateway 的社區版本(CE)擁有完善的使用指南和二次開發指南,代碼使用純 Go 語言編寫,擁有良好的性能和擴展性,而且內置的插件系統可以讓企業針對自身業務進行定製開發。
而且 Goku API Gateway 支持與 EOLINKER 旗下的 API Studio 接口管理平臺結合,對 API 進行全面的管理、自動化測試、監控和運維。
總而言之,Goku API Gateway 能讓業務開發團隊更加專一地實現業務。
【首頁】
首頁能夠了解網關的基本信息,例如訪問策略數、API數等,還能夠了解請求和轉發的狀況,例如成功率等。
【網關節點】
網關支持集羣化管理,進入不一樣的集羣能夠管理相應的節點。
【服務註冊方式】
您能夠經過靜態或動態的方式來註冊(發現)您的後端服務,建立好服務註冊方式後,您能夠在某個方式的基礎上建立一個或多個負載(Upstream)。
【負載配置】
配置API的轉發目標服務器(負載後端),建立以後能夠設置爲 API 的轉發地址 / 負載後端(Target / Upstream)。
【接口管理】
支持新建普通API和編排API,而且支持導入EOLINKER的API文檔。
【訪問策略】
您能夠給不一樣的調用方或應用設置訪問策略,不一樣的訪問策略能夠設置不一樣的 API 訪問權限、鑑權方式以及插件功能等。
【擴展插件】
插件系統除了提供官方插件,也能夠添加自定義的網關插件。
【日誌設置】
提供詳細的請求日誌和系統運行日誌,請求日誌能夠自定義記錄字段;運行日誌能夠根據狀況調整記錄等級:ERROR、INFO、DEBUG等。
EOLINKER 是領先的 API 管理服務供應商,爲全球超過3000家企業提供專業的 API 研發管理、API自動化測試、API監控、API網關等服務。是首家爲ITSS(中國電子工業標準化技術協會)制定API研發管理行業規範的企業。
免費下載PC桌面端:https://www.eolinker.com/pc