91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何選擇適合自己的微服務API網關

發布時間:2021-06-26 13:57:31 來源:億速云 閱讀:186 作者:chen 欄目:大數據

本篇內容介紹了“如何選擇適合自己的微服務API網關”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

微服務 API 網關有什么作用?

讓我們先來看下微服務 API 網關的作用,下圖是一個簡要的說明:

如何選擇適合自己的微服務API網關

API 網關并非一個新興的概念,在十幾年前就已經存在了,它的作用主要是作為流量的入口,統一的處理和業務相關的請求,讓請求更加安全、快速和準確的得到處理。它有以下傳統的功能:

  1. 反向代理和負載均衡,這和 Nginx 的定位和功能是一致的;

  2. 動態上游、動態 SSL 證書和動態限流限速等運行時的動態功能,這是開源版本 Nginx 并不具備的功能;

  3. 上游的主動和被動健康檢查,以及服務熔斷;

  4. 在 API 網關的基礎之上進行擴展,成為全生命周期的 API 管理平臺。

在最近幾年,業務相關的流量,不再僅僅是由 PC 客戶端和瀏覽器發起,更多的來自手機、IoT 設備等,未來隨著 5G 的普及,這些流量會越來越多,同時,隨著微服務架構的結構變遷,服務之間的流量也開始爆發性的增長。在這種新的業務場景下,催生了API 網關更多、更高級的功能:

  1. 云原生友好,架構要變得輕巧,便于容器化;

  2. 對接 Prometheus、Zipkin、Skywalking 等統計、監控組件;

  3. 支持 gRPC 代理,以及 http 到 gRPC 之間的協議轉換,把用戶的 http 請求轉為內部服務的 gPRC 請求;

  4. 承擔 OpenID Relying Party 的角色,對接 Auth0、okta 等身份認證提供商的服務,把流量的安全作為頭等大事來對待;

  5. 通過運行時動態執行用戶函數的方式來實現 serverless,讓網關的邊緣節點更加靈活;

  6. 不鎖定用戶,支持混合云的部署架構;

  7. 最后就是網關節點要狀態無關,可以隨意的擴容和縮容。

一個微服務 API 網關具備了上述十幾項功能,就可以讓用戶的服務只關心業務本身,而和業務實現無關的功能,比如服務發現、服務熔斷、身份認證、限流限速、統計、性能分析等,就可以在獨立的網關層面來解決。從這個角度來看,API 網關既可以替代 Nginx 的所有功能,來處理南北向的流量,也可以完成 Istio 控制面和 Envoy 數據面的角色,來處理東西向的流量。

備選的 API 網關有哪些?

正因為微服務 API 網關的地位如此重要,所以它一直處于兵家必爭之地,傳統的 IT 巨頭在這個領域很早就都有布局,比如谷歌、CA、IBM、紅帽、salesforce、以及 AWS、阿里云等公有云廠商。

這些閉源的商業產品,它們的功能都很完善,覆蓋了 API 的設計、多語言 SDK、文檔、測試和發布等全生命周期管理,并且提供 SaaS 服務,有些還與公有云做了集成,使用起來非常方便,但同時也帶來兩個痛點:

  1. 平臺鎖定。API 網關是業務流量的入口,它不像圖片、視頻等 CDN 加速的這種非業務流量可以隨意遷移,API 網關上會綁定不少業務相關的邏輯,一旦使用了閉源的方案,就很難平滑和低成本的遷移到其他平臺。

  2. 無法二次開發。一般的大中型企業都會有自己獨特的需求,需要定制開發,這時候你就只能依靠廠商,而不能自己動手去做二次開發。

所以我們更偏重于開源的 API 網關方案,比如 Kong、APISIX 和 Trk 等。這些 API 網關是從云原生軟件基金會(CNCF)的全景圖中摘選的:

如何選擇適合自己的微服務API網關

對比選型的依據

部署和維護成本

  • 是可以在單機就能完整部署,還是需要多個節點配合才能使用?

  • 是否有外部的數據庫依賴?比如 MySQL、Postgres?

  • 是否有 web 控制臺可以操作整個集群?

開源還是閉源

  • 你是否可以編寫自己的插件來擴展 API 網關的功能?

  • 當你使用了某個 API 網關后,是否可以平滑而且低成本的遷移到其他 API 網關?

  • 是否會被鎖定在特定的平臺上?

能否私有化部署

  • 是否支持部署在用戶自己的內部服務器中?

  • 是否支持多云、混合云的部署模式?

功能

  • 是否支持動態上游、動態 SSL 證書、主動/被動健康檢查這些基本的功能

  • 能否對接 Prometheus、Zipkin、Skywalking 等統計、監控組件

  • 是否可以通過 HTTP REST API 和 yaml 配置文件這兩種方式,來控制網關配置

社區

  • 使用者能否通過 Github、QQ 群、Stack Overflow 等方式聯系到社區的開發者?

  • 開源許可證是否友好?

  • 是否可以方便的提交自己的修改到主線版本?

  • 背后是否有商業公司支持?

商業支持和價格

  • 開源版本和商業版本差異是否很大?

  • 商業版本是按照 API 調用次數還是訂閱方式收費?

API 網關對比

下面是各個 API 網關多個角度的對比結果:

API 網關

 Kong

APISIX

Trk

Apigee

AWS

 

Aliyun

部署模式

單機和集群

單機和集群

單機和集群

不支持單機

PaaS

PaaS

數據存儲

Postgres

或者

Cassandra

etcd

Redis

Postgres,Cassandra和Zookeeper

PaaS

PaaS

是否開源

Apache 2.0 協議

Apache 2.0 協議

MPL

協議

核心技術

Nginx+Lua

Nginx+Lua

Golang

    未知

未知

未知

私有部署

自定義插件

社區活躍度

對接外部 IdP

支持yaml

從中我們可以看出,Kong 和 APISIX 都是非常好的選擇。

“如何選擇適合自己的微服務API網關”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

特克斯县| 北京市| 靖边县| 鲁山县| 太白县| 浑源县| 鹤峰县| 巢湖市| 绥滨县| 鲁山县| 启东市| 响水县| 曲靖市| 中方县| 澜沧| 麦盖提县| 定安县| 南丹县| 延寿县| 大邑县| 乌兰察布市| 南投市| 兖州市| 广平县| 荣成市| 大庆市| 胶州市| 湘潭市| 南康市| 邹城市| 陆川县| 夏邑县| 孟津县| 库尔勒市| 北京市| 宁武县| 抚顺市| 忻州市| 乌兰县| 南漳县| 永吉县|