Gateway API是一個開源的API標(biāo)準(zhǔn),起源于Kubernetes SIG-NETWORK興趣小組。從起源的角度看,Gateway API的根基很好,自開源以來備受關(guān)注,并被寄予厚望,它旨在通過一個聲明性的、可擴展的和面向角色的接口來發(fā)展Kubernetes服務(wù)網(wǎng)絡(luò),并希望成為供應(yīng)商的網(wǎng)關(guān)API標(biāo)準(zhǔn),獲得廣泛的行業(yè)支持。簡而言之,Gateway API希望能取代Ingress API。
- 服務(wù)網(wǎng)格或API網(wǎng)關(guān)項目,如Istio、Linkerd、Kong、Contour、Ambassador等都有自己的API標(biāo)準(zhǔn),Gateway API還沒有被用戶很好地接受。
?
- 由于Gateway API沒有強大的用戶基礎(chǔ),缺乏對功能和經(jīng)驗的反饋,因此迭代緩慢。
Gateway API距離成熟、大規(guī)模商用還有多遠??首先從目前的生態(tài)分析,Gateway API被Kubernetes圈普遍認可,包括開源項目、甚至商業(yè)服務(wù)GKE的支持。歸根到底,Gateway API由Kubernetes網(wǎng)絡(luò)組發(fā)起、維護,并且吸引了大量開源網(wǎng)絡(luò)項目的維護者參與。當(dāng)然實際背后控制者是Google,Google在開源技術(shù)的領(lǐng)導(dǎo)力毋庸置疑。但是不得不認識到,目前所有Gateway API的支持都處于初級階段。
其次,從兼容性的角度看,一些成熟的項目,比如Istio,用戶長期以來習(xí)慣了Istio的API標(biāo)準(zhǔn),Istio社區(qū)也不會貿(mào)然的廢棄原有的API,轉(zhuǎn)而只支持Gateway API。因此這種多種API并存的局面將會持續(xù)很久,即使在未來Gateway API成熟了。
最后,前面講到Gateway API對超時、重試、故障注入等能力預(yù)留了擴展能力,但是這種基本的網(wǎng)絡(luò)能力,Gateway API應(yīng)該提供標(biāo)準(zhǔn)的API,而不是讓用戶自己去定義私有的標(biāo)準(zhǔn)。這也違背了Gateway API想要統(tǒng)一服務(wù)網(wǎng)絡(luò)標(biāo)準(zhǔn)的初衷。除此之外,靈活的擴展性如果違背了易用性,顯然用戶是不會買賬的。
綜上所述,筆者認為至少在一兩年之內(nèi),Gateway API將會持續(xù)迭代,短時間內(nèi)很難形成成熟的標(biāo)準(zhǔn)。或許可以期待,2024年以后服務(wù)網(wǎng)格和API網(wǎng)關(guān)的標(biāo)準(zhǔn)將會統(tǒng)一。
?