国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

開源浪潮下,Apache APISIX 如何成為全球最活躍 API 網(wǎng)關(guān)

這篇具有很好參考價值的文章主要介紹了開源浪潮下,Apache APISIX 如何成為全球最活躍 API 網(wǎng)關(guān)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

白澤平,Apache APISIX PMC 成員,目前主要在 APISIX 和周邊項(xiàng)目 APISIX Dashboard 上進(jìn)行相關(guān)貢獻(xiàn)。本文整理自阿里云「中間件開發(fā)者 Meetup」中的議題分享。

Apache APISIX 是一個高性能的、動態(tài)的、實(shí)時的 API 網(wǎng)關(guān),它是基于 NGINX 和 OpenResty 進(jìn)行實(shí)現(xiàn)的。

作為一個脫胎于 NGINX 和 OpenResty 的軟件,APISIX 天然繼承了 NGINX 的性能和 OpenResty 的靈活性,因此,APISIX 的性能在一眾 API 網(wǎng)關(guān)中都是數(shù)一數(shù)二的。

細(xì)數(shù) Apache APISIX 優(yōu)勢

架構(gòu)取長補(bǔ)短

具體來說,像 NGINX + Linux epoll 提供了高性能的網(wǎng)絡(luò) IO 基礎(chǔ)設(shè)施,這些是 C 語言實(shí)現(xiàn)的,是靜態(tài)的。而 OpenResty 則集成了 LuaJIT,它基于 NGINX 提供的生命周期鉤子進(jìn)行擴(kuò)展,允許用戶通過 Lua 代碼對 NGINX 進(jìn)行編程。而 LuaJIT 本身,得益于優(yōu)秀的 JIT 實(shí)現(xiàn),它可以在運(yùn)行時對代碼進(jìn)行 JIT 編譯,當(dāng)熱路徑上的內(nèi)容被編譯為機(jī)器碼后,性能將可以與原生 C 語言相比。

當(dāng)然,除了 NGINX 與 OpenResty 的天然特性優(yōu)勢外,APISIX 本身也為性能進(jìn)行了多處優(yōu)化。比如沒有復(fù)用 NGINX 的 location 來處理路由匹配,而是使用了基數(shù)樹的方式。目前其他很多 API 網(wǎng)關(guān)還在使用遍歷的方式處理路由,而 APISIX 則不會出現(xiàn)遍歷方式的嚴(yán)重性能衰退,在路由很多時(這里指達(dá)到數(shù)千量級),它也可以提供基本平穩(wěn)的匹配速度。

同時,APISIX 也在動態(tài)性能層面進(jìn)行了一些操作。

相信使用過 NGINX 做服務(wù)部署的朋友一定記得,如果你修改了 NGINX 的配置文件,即使只是添加了一個 location,也必須要通過 NGINX reload 指令來應(yīng)用配置,甚至有時還需要重啟。這種情況對于內(nèi)部應(yīng)用場景來說還可以接受,但是對線上應(yīng)用來進(jìn)行這種操作時,可能會造成客戶端連接的中斷,這就影響很大。

而在 APISIX 中,上述配置操作過程都是完全動態(tài)的,location 可以動態(tài)配置,upstream 和 SSL 證書這些全部都可以動態(tài)配置。這主要得益于 APISIX 使用了 etcd 作為配置中心,通過 etcd watch 機(jī)制實(shí)現(xiàn)了動態(tài)的更新其配置,從而不需要依賴 reload 和重啟。

除此之外,像是以往需要 NGINX 修改配置才可以設(shè)置的 gzip 和緩存等,也可以動態(tài)地在單一路由的維度中進(jìn)行啟用。

開源浪潮下,Apache APISIX 如何成為全球最活躍 API 網(wǎng)關(guān)

如上是 APISIX 體系的架構(gòu)圖,底層就是剛剛提到的 NGINX + Lua 環(huán)境,再向上是 APISIX 的核心模塊,它包括路由、上游等相關(guān)能力,還有一些常用功能的封裝。這個核心模塊也是插件框架的入口,用戶在類似路由等組件中配置路由時,將被合并在此調(diào)用執(zhí)行。

APISIX 在核心模塊中提供了很多開箱即用的功能,比如負(fù)載均衡、動態(tài)上游、灰度發(fā)布、服務(wù)熔斷、身份認(rèn)證、可觀測性、服務(wù)發(fā)現(xiàn)、限流限速和日志收集等功能。

APISIX 中的很多功能都是通過插件方式進(jìn)行實(shí)現(xiàn)的,目前 APISIX 的插件已接近 80 個,未來還在持續(xù)擴(kuò)展增加中。提到插件,不得不說 APISIX 提供的插件運(yùn)行時是一個非常易于開發(fā)的插件框架,用戶可以輕而易舉地使用 Lua 編寫自己的插件,來實(shí)現(xiàn)特定業(yè)務(wù)功能。如果實(shí)在不具備 Lua 的開發(fā)維護(hù)能力也可以使用外部 Plugin Runner(APISIX 多語言插件) 或者 WASM 開發(fā)插件。

開源活躍開放

APISIX 是 Apache 軟件基金會旗下的頂級開源項(xiàng)目,它使用了 Apache License v2 開源協(xié)議,對商業(yè)使用與二次開發(fā)都比較友好。

同時 APISIX 社區(qū)也一直保持著活躍,包括但不限于產(chǎn)品技術(shù)本身的活躍(比如近一個月內(nèi)有 70+ commit,處理了 70+ issue 等),還有社區(qū)活動和一些內(nèi)容分享上的全球布道等。

開源浪潮下,Apache APISIX 如何成為全球最活躍 API 網(wǎng)關(guān)

Apache Way 的理念,指導(dǎo)著每一個 Apache 基金會開源項(xiàng)目,即「社區(qū)>代碼」。社區(qū)的建設(shè)至關(guān)重要,重要性甚至超過項(xiàng)目代碼本身?;剡^頭來我們看,為什么 APISIX 社區(qū)可以如此活躍?

  • 社區(qū)開放,歡迎任何有意義的討論(比如問題報告、新功能等)。 除此之外,無論項(xiàng)目維護(hù)者身份如何、來自什么公司,大家都采用同樣的方式參與社區(qū)。所有討論都在郵件列表內(nèi)進(jìn)行,未經(jīng)郵件列表討論的事項(xiàng),就是不存在的;全部開發(fā)工作也都是公開的,任何事項(xiàng)都有痕跡。

  • 經(jīng)常與其他社區(qū)進(jìn)行項(xiàng)目合作。 比如 APISIX 的很多插件都是與其他項(xiàng)目或者服務(wù)的集成,像 Casbin 社區(qū)參與到 APISIX 項(xiàng)目中,貢獻(xiàn)了 casbin 權(quán)限管理和 casdoor 身份認(rèn)證插件。

  • 通過各種渠道吸引新的貢獻(xiàn)者參與社區(qū)。 比如 APISIX 項(xiàng)目已連續(xù)多年參與 Google GSoC 計(jì)劃和國內(nèi)開源供應(yīng)鏈點(diǎn)亮計(jì)劃等活動,吸引國內(nèi)外對開源項(xiàng)目感興趣的學(xué)生來參與其中,增加學(xué)生們對開源社區(qū)的經(jīng)驗(yàn)。

周邊項(xiàng)目齊開花

上文我們提到的都是 APISIX 項(xiàng)目本身的一些內(nèi)容。但其實(shí),基于 APISIX 這個云原生 API 網(wǎng)關(guān),也衍生出了很多周邊項(xiàng)目。

通過使用 APISIX Ingress Controller,用戶可以將 Kubernetes Ingress 資源和 APISIX 自定義的 CRD 資源提取出來,進(jìn)而為 APISIX 配置路由、上游或插件等。它將自動根據(jù) K8s Service 生成上游,并與路由進(jìn)行關(guān)聯(lián),提供了一種在 K8s 中的聲明式 API 的實(shí)現(xiàn)路徑。

除此之外,APISIX 還提供自己的開源控制臺實(shí)現(xiàn)——APISIX Dashboard,它提供了 APISIX 中最常用功能的可視化配置能力,可直接在界面上修改即可完成 API 的配置上下線。這與 APISIX Ingress Controller 提供的代碼即配置的思路有所不同,前者注重配置的靈活性,而后者注重規(guī)則定義的確定性。

同時在當(dāng)前最熱門的服務(wù)網(wǎng)格領(lǐng)域,APISIX 也在嘗試交出自己的答卷。APISIX 的服務(wù)網(wǎng)格項(xiàng)目 Amesh 現(xiàn)已經(jīng)開源,目前的方案使用 Istio 作為控制面實(shí)現(xiàn),與 Envoy 一樣通過 xDS 協(xié)議與 Istio 通信,并將通信規(guī)則轉(zhuǎn)換為 APISIX 中的路由與上游配置。從而替換了 Istio + Envoy 組合中 Envoy 的流量網(wǎng)關(guān)角色。

APISIX 如何應(yīng)對應(yīng)用發(fā)展

開源浪潮下,Apache APISIX 如何成為全球最活躍 API 網(wǎng)關(guān)

現(xiàn)代應(yīng)用系統(tǒng)架構(gòu)已經(jīng)經(jīng)過多次發(fā)展,從單體應(yīng)用、多單體應(yīng)用+企業(yè)服務(wù)總線的 SOA 到現(xiàn)在的多微服務(wù)架構(gòu)演化。

當(dāng)單體應(yīng)用迭代到微服務(wù)后,微服務(wù)本身具有一定規(guī)模后,單純的微服務(wù)并不足以解決生產(chǎn)上面臨的問題。其伴隨的一個顯著特征就是,服務(wù)的數(shù)量在大幅增長,各個服務(wù)間的調(diào)用關(guān)系也變得更加復(fù)雜。

因此,在不同的階段其實(shí)大家都面臨著很多不同的技術(shù)選型。比如服務(wù)層面,我們可以用到像是 Apache、NGINX、HAProxy 這樣的反向代理工具。進(jìn)入到微服務(wù)時代我們又會用到像 NGINX 或是一些更加現(xiàn)代化的動態(tài) API 管理工具,這里又會因?yàn)榧夹g(shù)棧的不同擴(kuò)展出更多的產(chǎn)品。比如在 Java 語言側(cè)選擇 Zuul 或者 Spring Cloud Gateway 這樣的組件,在 Kubernetes 部署又會有 Ingress 等選擇。更進(jìn)一步到服務(wù)網(wǎng)格架構(gòu)中,又會產(chǎn)生 Istio + Envoy/MOSN 這種選擇。

各種技術(shù)手段浩如煙海,如何根據(jù)當(dāng)前企業(yè)、團(tuán)隊(duì)的狀況選擇最合適的架構(gòu)對架構(gòu)師的能力帶來很大的挑戰(zhàn)。

除了整體架構(gòu)上的選擇,隨著團(tuán)隊(duì)的擴(kuò)大和業(yè)務(wù)場景的復(fù)雜,對于開發(fā)者而言,需要了解和考慮的東西越來越多。這種情況下,各種各樣的流量比如 HTTP/TLS、gRPC、四層的 TCP/UDP、中間件的調(diào)用(比如 Redis 緩存)等等,對它們進(jìn)行統(tǒng)一的管理正是當(dāng)下應(yīng)用發(fā)展階段所面臨的困境。

APISIX 作為云原生 API 網(wǎng)關(guān),為許多企業(yè)提供了一個更優(yōu)的選擇。在應(yīng)對各種不同場景時,APISIX 有著一些流量代理的用法。比如我們可以將 APISIX 作為一個 LB 來處理對外服務(wù)的負(fù)載均衡問題,同時也可以將其用作 API 網(wǎng)關(guān)來解決微服務(wù)的暴露與調(diào)用,利用 APISIX Ingress Controller 還可以解決容器中的 API 管理難題。

可以看到,使用 APISIX 可以為你在不同階段提供一個統(tǒng)一的、全流量的處理方式。那這種方式能為用戶帶來哪些收益呢?

  • 對于研發(fā)人員來說,如果一個人掌握了 APISIX 這套體系的技術(shù),他就可以很輕松地完成企業(yè)團(tuán)隊(duì)中各種不同領(lǐng)域的工作,比如在 API 網(wǎng)關(guān)或者 Ingress Controller 這種流量管理的落地場景。

  • 對于運(yùn)維人員來說,使用 APISIX 后無論是后續(xù)維護(hù)現(xiàn)有環(huán)境還是切換到新的技術(shù)棧上,你都可以直接使用同一種工具和方法進(jìn)行直接管理,而無需再投入學(xué)習(xí)和時間成本。同時作為開源產(chǎn)品,學(xué)習(xí)之后還可以作為自身的技術(shù)積累復(fù)用到其他工作中,可謂是一舉多得。

  • 對于公司來說,選用 APISIX 的架構(gòu)不僅僅可以滿足現(xiàn)有需求,還為將來的技術(shù)演進(jìn)預(yù)留下空間。比如當(dāng)下是為了滿足作為 LB 的需求,如果之后公司技術(shù)發(fā)展,將來也可以無縫過渡到 API 網(wǎng)關(guān)或者容器平臺乃至服務(wù)網(wǎng)格等領(lǐng)域。

展望:與 OpenSergo 的未來計(jì)劃

我們在上文中也提到了與其他社區(qū)的積極合作。在之前,OpenSergo 在 APISIX 社區(qū)項(xiàng)目倉庫的 issue 中曾發(fā)起討論,希望可以通過社區(qū)合作的方式,協(xié)商建立一個用于流量控制的統(tǒng)一標(biāo)準(zhǔn),這引起了一部分社區(qū)成員的興趣。之后在一次 APISIX 社區(qū)的中文 Weekly Meeting 中,OpenSergo 社區(qū)的伙伴也為大家介紹了這一項(xiàng)目的愿景、思路和價值。

作為一個開放且包容的開源社區(qū),APISIX 是非常歡迎這種社區(qū)間合作的,通過項(xiàng)目協(xié)同可以發(fā)揮出各自項(xiàng)目更大的價值。

具體來說,由于 OpenSergo 項(xiàng)目標(biāo)準(zhǔn)的表現(xiàn)形式主要為 Kubernetes CRD, 其用于云原生的容器環(huán)境中,因此可以優(yōu)先考慮將它與 APISIX Ingress Controller 項(xiàng)目進(jìn)行集成,為其增加 OpenSergo 的配置解析和處理模塊,將原始配置轉(zhuǎn)換為 APISIX 的內(nèi)置速率限制插件等。

這種做法有助于使用 Kubernetes 的用戶來增強(qiáng)其流量控制能力,并與其他各種上下游生態(tài)進(jìn)行集成,比如 RPC 框架。對于不使用 Kubernetes 的用戶,在目前產(chǎn)品現(xiàn)狀下,還缺少一個橋梁去完成 CRD 到 APISIX 插件的配置轉(zhuǎn)換。

因此,我們也有參考彼此產(chǎn)品的一些未來規(guī)劃。比如 OpenSergo 的文檔中提到,它們將發(fā)布專門的 SDK 供數(shù)據(jù)面組件調(diào)用以集成至 OpenSergo。如果有了 SDK 或是其他形式的接口,在接下來的日子里,有望看到 OpenSergo 與 APISIX 的集成項(xiàng)目。

最后,作為開源活躍項(xiàng)目,APISIX 社區(qū)也非常歡迎有興趣的伙伴來提交這些功能的實(shí)現(xiàn),幫助項(xiàng)目的集成成為現(xiàn)實(shí)。相信通過開源間的合作,彼此項(xiàng)目都可以取得更大的成就。文章來源地址http://www.zghlxwxcb.cn/news/detail-452958.html

到了這里,關(guān)于開源浪潮下,Apache APISIX 如何成為全球最活躍 API 網(wǎng)關(guān)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 云原生網(wǎng)關(guān)Apache APISIX

    云原生網(wǎng)關(guān)Apache APISIX

    Apache APISIX 介紹 什么是Apache APISIX Apache APISIX 是一個動態(tài)、實(shí)時、高性能的云原生 API 網(wǎng)關(guān),提供了負(fù)載均 衡、動態(tài)上游、灰度發(fā)布、服務(wù)熔斷、身份認(rèn)證、可觀測性等豐富的流量管理功 能??梢允褂?Apache APISIX 處理傳統(tǒng)的南北向流量,也可以處理服務(wù)間的東 西向流量。同時

    2024年02月09日
    瀏覽(30)
  • Apache Apisix網(wǎng)關(guān)系統(tǒng)歷史漏洞復(fù)現(xiàn)分析

    Apache Apisix網(wǎng)關(guān)系統(tǒng)歷史漏洞復(fù)現(xiàn)分析

    Apache APISIX 是一個動態(tài)、實(shí)時、高性能的 API 網(wǎng)關(guān), 提供負(fù)載均衡、動態(tài)上游、灰度發(fā)布、服務(wù)熔斷、身份認(rèn)證、可觀測性等豐富的流量管理功能。 開源項(xiàng)目地址:https://github.com/apache/apisix; 官方文檔地址:https://apisix.apache.org/zh/docs/apisix/getting-started/README/; 你可以把 Apache

    2024年02月19日
    瀏覽(23)
  • [運(yùn)維|中間件] Apache APISIX使用筆記

    Apache APISIX 是一個動態(tài)、實(shí)時、高性能的云原生 API 網(wǎng)關(guān),提供了負(fù)載均衡、動態(tài)上游、灰度發(fā)布、服務(wù)熔斷、身份認(rèn)證、可觀測性等豐富的流量管理功能。 官方文檔地址 快速安裝

    2024年02月14日
    瀏覽(23)
  • AI驅(qū)動下的算力浪潮,中國穩(wěn)居全球第二

    AI驅(qū)動下的算力浪潮,中國穩(wěn)居全球第二

    AI大模型的發(fā)展引發(fā)了對算力的進(jìn)一步需求。中國信通院發(fā)布的《中國綜合算力指數(shù)(2023年)》顯示,當(dāng)前算力規(guī)模中,通用算力占比達(dá)74%,智能算力規(guī)模同比增加60%至25%。大模型對人工智能算力的重要推動作用。 如今,算力已深入滲透到科研、工業(yè)生產(chǎn)乃至日常生活的各個

    2024年01月20日
    瀏覽(22)
  • 通過 MSE 實(shí)現(xiàn)基于Apache APISIX的全鏈路灰度

    通過 MSE 實(shí)現(xiàn)基于Apache APISIX的全鏈路灰度

    微服務(wù)體系架構(gòu)中,服務(wù)之間的依賴關(guān)系錯綜復(fù)雜,有時某個功能發(fā)版依賴多個服務(wù)同時升級上線。我們希望可以對這些服務(wù)的新版本同時進(jìn)行小流量灰度驗(yàn)證,這就是微服務(wù)架構(gòu)中特有的全鏈路灰度場景,通過構(gòu)建從網(wǎng)關(guān)到整個后端服務(wù)的環(huán)境隔離來對多個不同版本的服務(wù)

    2024年01月17日
    瀏覽(27)
  • 如何飛速成為開源貢獻(xiàn)者(Contributor)

    如何飛速成為開源貢獻(xiàn)者(Contributor)

    型號 :MacBook Pro 內(nèi)存 :16GB 硬盤 :512GB SSD 處理器 :Apple M2 宿主機(jī)CPU架構(gòu) :ARM Git版本 :2.39.2 (Apple Git-143) Maven版本 :3.8.8 JDK版本 :17 Git 是一個 分布式版本控制系統(tǒng) ,用于管理和跟蹤文件的變化。它可以幫助開發(fā)人員或團(tuán)隊(duì) 追蹤代碼的修改歷史、協(xié)同開發(fā)、管理各個版本

    2024年02月10日
    瀏覽(22)
  • 景順長城基于 Apache APISIX 在金融云原生的生產(chǎn)實(shí)踐

    景順長城基于 Apache APISIX 在金融云原生的生產(chǎn)實(shí)踐

    本文介紹了景順長城在金融云原生架構(gòu)演進(jìn)中選擇 APISIX 作為網(wǎng)關(guān)工具的技術(shù)細(xì)節(jié),同時分享了使用 APISIX 的實(shí)踐細(xì)節(jié),并對 APISIX 的未來展望進(jìn)行了探討。 作者李奕浩,景順長城信息技術(shù)部研發(fā)工程師,負(fù)責(zé)公司網(wǎng)關(guān)和業(yè)務(wù)系統(tǒng)上云等工作。 景順長城基金管理有限公司成立

    2023年04月08日
    瀏覽(22)
  • 【天幕系列 02】開源力量:揭示開源軟件如何成為技術(shù)演進(jìn)與社會發(fā)展的引擎

    在當(dāng)今數(shù)字化時代,開源軟件已經(jīng)成為了技術(shù)領(lǐng)域的一個重要組成部分,對整個行業(yè)和社會產(chǎn)生了深遠(yuǎn)的影響。從操作系統(tǒng)到數(shù)據(jù)庫,從編程語言到應(yīng)用程序,開源軟件的影響力日益顯現(xiàn),為技術(shù)創(chuàng)新、經(jīng)濟(jì)發(fā)展和社會進(jìn)步作出了巨大貢獻(xiàn)。 開源軟件對技術(shù)創(chuàng)新的推動作用是

    2024年02月20日
    瀏覽(20)
  • apisix 配置https api的步驟

    apisix 是一個開源的 API 網(wǎng)關(guān),可以幫助你管理和路由 API 請求。下面是在 apisix 中配置 HTTPS API 的步驟: 安裝 apisix。你可以使用 Docker 來安裝 apisix,也可以使用源碼編譯安裝。 生成 SSL 證書。你可以使用 Let\\\'s Encrypt 來生成免費(fèi)的 SSL 證書,也可以使用自簽名的 SSL 證書。 在 a

    2024年02月14日
    瀏覽(17)
  • 孫宇晨最新研判:加密貨幣將成為全球金融基礎(chǔ)設(shè)施的一部分

    孫宇晨最新研判:加密貨幣將成為全球金融基礎(chǔ)設(shè)施的一部分

    近日,波場TRON創(chuàng)始人、火幣HTX全球顧問委員會委員孫宇晨接受了在加密社區(qū)有重要影響力的媒體平臺Bankless的專訪,就自己的從業(yè)經(jīng)歷、涉足加密行業(yè)的理想、波場TRON本身的發(fā)展和未來的市場走向等話題進(jìn)行了詳細(xì)的分享。 孫宇晨認(rèn)為,波場TRON的使命是為那些沒有銀行賬戶的人

    2024年03月21日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包