API網關設計與實現(一)


 

原文鏈接:https://blog.csdn.net/yangding_/article/details/63253164

 

API網關使用場景
API網關技術選型與應用架構
API網關使用場景

在使用微服務架構場景下,客戶端在調用后台微服務時,都需要進行登陸認證、權限認證、流量控制、負載均衡、健康檢查等操作,這些操作是調用每一個微服務都必須。因此需要將該操作交給一個高性能的中間層進行處理,以降低系統間的耦合,並使微服務更加專注於業務邏輯處理,降低整體系統的響應時間。

 

如圖,來自各種終端的請求經過一層負載均衡后到達網關,網關統一做登陸認證、權限認證、流量控制、負載均衡、健康檢查等操作后,再將請求轉發到后台微服務。

API網關技術選型與應用架構
API網關作為后台微服務請求的入口,必然要求其具有高性能的特點,為了使其可以按照自己的使用場景定制開發,對其易擴展性也要求很高,並且最好是有成熟的產品與規范的文檔以及活躍的社區支持。OpenResty自然成為了首選!OpenResty是一款基於Ngnix的利用lua語言作為擴展的API網關技術。

 

 

 

上圖為利用Openresty作為API網關的一種微服務架構圖。如圖所示:

Openresty啟動時會先去redis集群中獲取最新的服務地址與配置信息,並且進行消息訂閱(即對某一端口進行監聽);

后台微服務都會在ZK中進行注冊,Gateway微服務會對ZK內的信息進行處理后存入redis集群中,並實時監聽ZK的地址變動情況,redis集群中有了服務的地址就可以將地址推送給Openresty做負載均衡;

OS web平台提供一個web界面用於方便的進行流量控制與權限控制的設置;
————————————————
版權聲明:本文為CSDN博主「Devin__Yang」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/yangding_/article/details/63253164


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM