亚洲中文字幕无码日韩精品,亚洲一区制服无码中字,亚洲精品第一国产综合精品99 ,一本大道中文日本香蕉

微立頂科技

新聞資訊

創(chuàng)新 服務 價值

  API網(wǎng)關的功能用途及實現(xiàn)方式

發(fā)布日期:2023/1/17 15:30:38      瀏覽量:

轉(zhuǎn)自博客園 原文鏈接:https://www.cnblogs.com/east4ming/p/17057454.html 

如有侵權(quán)請聯(lián)系我們刪除

1. API 網(wǎng)關誕生背景

前言

API 經(jīng)濟生態(tài)鏈已經(jīng)在全球范圍覆蓋, 絕大多數(shù)企業(yè)都已經(jīng)走在數(shù)字化轉(zhuǎn)型的道路上,API 成為企業(yè)連接業(yè)務的核心載體, 并產(chǎn)生巨大的盈利空間。快速增長的 API 規(guī)模以及調(diào)用量,使得企業(yè) IT 在架構(gòu)上、模式上面臨著更多的挑戰(zhàn)。

API 是什么

API 網(wǎng)關是一個服務器,是系統(tǒng)的唯一入口。從面向?qū)ο笤O計的角度看,它與外觀模式類似。API 網(wǎng)關封裝了系統(tǒng)內(nèi)部架構(gòu),為每個客戶端提供一個定制的 API。它可能還具有其它職責,如身份驗證、監(jiān)控、負載均衡、緩存、請求分片與管理、靜態(tài)響應處理。API 網(wǎng)關方式的核心要點是,所有的客戶端和消費端都通過統(tǒng)一的網(wǎng)關接入微服務,在網(wǎng)關層處理所有的非業(yè)務功能。通常,網(wǎng)關也是提供 REST/HTTP 的訪問 API。服務端通過 API-GW 注冊和管理服務。

1. API 開放數(shù)量不斷增加

毋庸置疑,隨著企業(yè)的數(shù)據(jù)化進展,微服務改造,不同領域的 API 層出不窮,早在 2014 年 ProgrammableWeb 便預測 API 矢量可達到 100,000 到 200,000,并會不斷增長。API 開發(fā)數(shù)量的增加給邊緣系統(tǒng)帶來機會,也隨即演變了 API 網(wǎng)關的出現(xiàn)。大規(guī)模的 API 管理系統(tǒng)成為核心的發(fā)展趨勢。

2. API 服務平臺多樣化

最初的 API 主要針對不同單體應用的網(wǎng)絡單元之間信息交互,現(xiàn)已演變到服務間快速通訊。隨著人工智能 EI,IOT 的不斷演進,依賴 API 的平臺不斷更新,如 Web,Mobile,終端等,未來將會出現(xiàn)更多的服務體系。包括不限于:

  • 瀏覽器
  • IOS
  • Android
  • macOS
  • Windows
  • Linux
  • IOT
  • 其他移動端
  • 小程序
  • 終端設備(如智慧零售、工業(yè)的終端等)
  • ......

3. 逐步替換原有企業(yè)的服務模式,API 即商品

賣計算,賣軟件,賣能力,最終的企業(yè)的銷售模式會逐步轉(zhuǎn)變,能力變現(xiàn),釋放數(shù)據(jù)價值,依托不同的 API 管理平臺創(chuàng)造新的盈利。

API 網(wǎng)關誕生背景

隨著 API 的整體趨勢發(fā)展,每個時期都面臨著不同的挑戰(zhàn),架構(gòu)也隨之變化,具體如下圖:

  1. 1960-1980:阿帕網(wǎng)、ATTP、TCP
  2. 1980-1990:點對點
  3. 1990-2000:消息中間件、ESB(企業(yè)服務總線,Enterprise service bus),SOA(面向服務的架構(gòu))
  4. 2000 至今:Integration as a service,RESTful services,API 管理,云上編排


從最原始的“傳輸協(xié)議通訊” -> “簡單的接口集成” -> “消息中間件” -> “標準 REST”, 可以看到 API 的發(fā)展更趨向于簡潔, 集成,規(guī)范化, 這也促使更多的系統(tǒng)邊界組件不斷涌現(xiàn),在承載了萬億級的 API 經(jīng)濟的背景下, API 網(wǎng)關應運而生。

如果沒有合適的 API 管理工具, API 經(jīng)濟不可能順利開展。 同時提出了對于 API 管理系統(tǒng)的生命周期定義: planning(規(guī)劃), design(設計), implementation(實施), publication(發(fā)布),operation(運維), consumption(消費), maintenance(維護) and retirement of APIs(下架)

如果沒有合適的 API 管理工具, API 經(jīng)濟不可能順利開展。 同時提出了對于 API 管理系統(tǒng)的生命周期定義: planning(規(guī)劃), design(設計), implementation(實施), publication(發(fā)布),operation(運維), consumption(消費), maintenance(維護) and retirement of APIs(下架)

-- Magic Quadrant for Full Life Cycle API Management,Gartner, 2016-10-27

2. API 網(wǎng)關核心功能

  • API 生命周期管理
    • planning(規(guī)劃)
    • design(設計)
    • implementation(實施)
    • publication(發(fā)布)
    • operation(運維)
    • consumption(消費)
    • maintenance(維護)
    • retirement(下架)
  • API 網(wǎng)關基礎功能
    • 認證
    • 鑒權(quán)
    • 服務發(fā)現(xiàn)和集成
    • 負載均衡
    • 日志
    • 鏈路追蹤
    • 監(jiān)控
    • 重試
    • 限流
    • QoS
    • 熔斷器
    • 映射
    • 緩存
    • Header、query 字符串 等 轉(zhuǎn)義
    • API 文檔
    • API 測試
    • SDK 生成
  • API 多版本、多環(huán)境管理
  • 插件
  • API 集中式 metrics、logging、tracing 管理
  • 安全
    • HTTPS
    • IP 黑白名單
  • 高可用
    • 可熱重啟
  • 高性能
  • 可擴展性
    • 無狀態(tài)橫向擴展

3. API 網(wǎng)關的用途

OpenAPI

企業(yè)需要將自身數(shù)據(jù)、能力等作為開發(fā)平臺向外開放,通常會以 rest 的方式向外提供。最好的例子就是淘寶開放平臺、騰訊公司的 QQ 開發(fā)平臺、微信開放平臺。

Open API 開放平臺必然涉及到客戶應用的接入、API 權(quán)限的管理、調(diào)用次數(shù)管理等,必然會有一個統(tǒng)一的入口進行管理,這正是 API 網(wǎng)關可以發(fā)揮作用的時候。

微服務網(wǎng)關

在微服務架構(gòu)中,有一個組件可以說是必不可少的,那就是微服務網(wǎng)關,微服務網(wǎng)關處理了負載均衡,緩存,路由,訪問控制,服務代理,監(jiān)控,日志等。

API 網(wǎng)關在微服務架構(gòu)中正是以微服務網(wǎng)關的身份存在。

API 中臺

上述的微服務架構(gòu)對企業(yè)來說有可能實施上是困難的,企業(yè)有很多遺留系統(tǒng),要全部抽取為微服務改動太大,對企業(yè)來說成本太高。

但是由于不同系統(tǒng)間存在大量的 API 服務互相調(diào)用,因此需要對系統(tǒng)間服務調(diào)用進行管理,清晰地看到各系統(tǒng)調(diào)用關系,對系統(tǒng)間調(diào)用進行監(jiān)控等。

API 網(wǎng)關可以解決這些問題,我們可以認為如果沒有大規(guī)模的實施微服務架構(gòu),那么對企業(yè)來說微服務網(wǎng)關就是企業(yè)的 API 中臺。

4. API 網(wǎng)關的價值

通過 API 網(wǎng)關,可以封裝后端各種服務,以 API 的形式,提供給各方使用。API 網(wǎng)關產(chǎn)品的優(yōu)勢總結(jié)如下:

  • API 全生命周期管理:協(xié)助開發(fā)者輕松完成 API 的創(chuàng)建、維護、發(fā)布、監(jiān)控等整個生命周期的管理。
  • 豐富的服務治理能力:支持 API 限流,參數(shù)校驗,元數(shù)據(jù)維護,SDK 生成,批量操作等能力,協(xié)助開發(fā)者高效管理服務。
  • 可觀察性:通過 API 網(wǎng)關,支持對調(diào)用次數(shù),前后端錯誤次數(shù)等豐富監(jiān)控指標的可視和告警能力;通過全面的監(jiān)控告警,保證用戶服務的可用性。
  • 可運營性:支持 企業(yè) OpenAPI 定價,賬單等運營功能
  • 服務安全:通過接入多種認證方式,確保用戶 API 的訪問安全性;通過嚴格的流量控制,避免用戶服務的過載。
  • 前后端業(yè)務解耦
  • 多類型后端打通

5. API 網(wǎng)關的實現(xiàn)方式

主流 API 網(wǎng)關

  • Istio(以及最新出的 Envoy Gateway)
  • Linkerd
  • NGINX 及其商業(yè)版
  • KONG
  • Traefik
  • APISIX
  • RedHat 3scale
  • Netflix Zuul
  • Spring Cloud Gateway
  • Amazon API Gateway
  • 阿里云 API 網(wǎng)關(其最新開源的 Higress 是基于 Envoy Gateway 的)
  • 騰訊云 API 網(wǎng)關
  • MuleSoft

OpenAPI

對于定位 OpenAPI 平臺的 API 網(wǎng)關,目前只能選擇專業(yè)的 API 網(wǎng)關作為解決方案。

微服務網(wǎng)關

對于定位為「微服務網(wǎng)關」的 API 網(wǎng)關,業(yè)務有多種實現(xiàn)方式:

Service Mesh

典型的如 Istio,架構(gòu)如下:


通用反向代理

基于 NGINX 或 NGINX + LUA + OpenResty 的實現(xiàn)。典型如:

API 網(wǎng)關框架

公有云解決方案

其實公有云的解決方案也是基于以上方案的定制化開發(fā)并產(chǎn)品化后發(fā)布到公有云上,主流的也是基于:NGINX + LUA + OpenResty, 或者最新的可能是基于 Istio Gateway 的實現(xiàn)

其他方案

  • 基于 Netty、非阻塞 IO 模型。
  • 基于 Node.js 的方案。這種方案是應用了 Node.js 的非阻塞的特性。
  • 基于 Java,如 MuleSoft


  業(yè)務實施流程

需求調(diào)研 →

團隊組建和動員 →

數(shù)據(jù)初始化 →

調(diào)試完善 →

解決方案和選型 →

硬件網(wǎng)絡部署 →

系統(tǒng)部署試運行 →

系統(tǒng)正式上線 →

合作協(xié)議

系統(tǒng)開發(fā)/整合

制作文檔和員工培訓

售后服務

馬上咨詢: 如果您有業(yè)務方面的問題或者需求,歡迎您咨詢!我們帶來的不僅僅是技術(shù),還有行業(yè)經(jīng)驗積累。
QQ: 39764417/308460098     Phone: 13 9800 1 9844 / 135 6887 9550     聯(lián)系人:石先生/雷先生