2019 年,螞蟻金服在 Service Mesh 領域繼續高歌猛進,進入大規模落地的深水區。本文整理自螞蟻金服高級技術專家敖小劍在 QCon 全球軟件開發大會(上海站)2019 上的演講,他介紹了 Service Mesh 在螞蟻金服的落地狀況和即未來臨的雙十一大考,以及大規模落地時遇到的困難和解決方案,助你瞭解 Service Mesh 的將來發展方向和前景。git
你們好,我是敖小劍,來自螞蟻金服中間件團隊,今天帶來的主題是「詩和遠方:螞蟻金服 Service Mesh 深度實踐」。github
在過去兩年,我前後在 QCon 作過兩次 Service Mesh 的演講:golang
今天,有幸第三次來到 QCon,給你們帶來的依然是螞蟻金服在 Service Mesh 領域的實踐分享。和去年不一樣的是,今年螞蟻金服進入了 Service Mesh 落地的深水區,規模巨大,並且即將迎來雙十一大促考驗。web
備註:現場作了一個調研,瞭解聽衆對 Servicve Mesh 的瞭解程度,結果不太理想:在此以前對 Service Mesh 有了解的同窗目測只有10%多點(確定不到20%)。Service Mesh 的技術佈道,依然任重道遠。編程
今天給你們帶來的內容主要有三塊:api
Service Mesh 技術在螞蟻金服的落地,前後經歷過以下幾個階段:緩存
目前 ServiceMesh 正在螞蟻金服內部大面積鋪開,我這裏給出的數據是前段時間(大概9月中)在雲棲大會上公佈的數據:應用數百個,容器數量(pod 數)超過10萬。固然目前落地的pod數量已經遠超過10萬,這已是目前全球最大的 Service Mesh 集羣,但這僅僅是一個開始,這個集羣的規模後續會繼續擴大,明年螞蟻金服會有更多的應用遷移到 Service Mesh。安全
目前 Service Mesh 在螞蟻金服內部大量落地,包括支付寶的部分核心鏈路,落地的主要場景有:性能優化
以前和一些朋友、客戶交流過,目前在 Service Mesh 方面你們最關心的是 Service Mesh 的性能表現,包括對於此次螞蟻金服 Service Mesh 上雙十一,你們最想看到的也是性能指標。服務器
爲何你們對性能這麼關注?
由於在 Service Mesh 工做原理的各類介紹中,都會提到 Service Mesh 是將原來的一次遠程調用,改成走Sidecar(並且像 Istio 是客戶端和服務器端兩次 Sidecar,如上圖所示),這樣一次遠程調用就會變成三次遠程調用,對性能的擔心也就天然而然的產生了:一次遠程調用變三次遠程調用,性能會降低多少?延遲會增長多少?
下圖是咱們內部的大促壓測數據,對比帶 SOFAMosn 和不帶 SOFAMosn 的狀況(實現相同的功能)。其中 SOFAMosn 是咱們螞蟻金服自行開發的基於 Golang 的 Sidecar/數據平面,咱們用它替代了 Envoy,在去年的演講中我有作過詳細的介紹。
SOFAMosn:github.com/sofastack/s…
這個性能表現,和前面"一次遠程調用變三次遠程調用"的背景和擔心相比有很大的反差。尤爲是上面延遲的這個特殊場景,竟然出現帶 SOFAMosn(三次遠程調用)比不帶 SOFAMosn(一次遠程調用) 延遲反而下降的狀況。
是否是感受不科學?
咱們來快速回顧一下 Service Mesh 實現的基本思路:
在基於 SDK 的方案中,應用既有業務邏輯,也有各類非業務功能。雖然經過 SDK 實現了代碼重用,可是在部署時,這些功能仍是混合在一個進程內的。
在 Service Mesh 中,咱們將 SDK 客戶端的功能從應用中剝離出來,拆解爲獨立進程,以 Sidecar 的模式部署,讓業務進程專一於業務邏輯:
咱們稱之爲"關注點分離":業務開發團隊能夠專一於業務邏輯,而底層的中間件團隊(或者基礎設施團隊)能夠專一於業務邏輯以外的各類通用功能。
經過 Sidecar 拆分爲兩個獨立進程以後,業務應用和 Sidecar 就能夠實現「獨立維護」:咱們能夠單獨更新/升級業務應用或者 Sidecar。
咱們回到前面的螞蟻金服 Service Mesh 落地後的性能對比數據:從原理上說,Sidecar 拆分以後,原來 SDK 中的各類功能只是拆分到 Sidecar 中。總體上並無增減,所以理論上說 SDK 和 Sidecar 性能表現是一致的。因爲增長了應用和 Sidecar 之間的遠程調用,性能不可避免的確定要受到影響。
首先咱們來解釋第一個問題:爲何性能損失那麼小,和"一次遠程調用變三次遠程調用"的直覺不符?
所謂的「直覺」,是將關注點都集中到了遠程調用開銷上,下意識的忽略了其餘開銷,好比 SDK 的開銷、業務邏輯處理的開銷,所以:
推導出來的結果就是有3倍的開銷,性能天然會有很是大的影響。
可是,真實世界中的應用不是這樣:
所以,在真實世界中,咱們假定業務邏輯百倍於 Sidecar 的開銷,而 SDK 十倍於 Sidecar 的開銷,則:
推導出來的結果,性能開銷從111增長到113,大約增長2%。這也就解釋了爲何咱們實際給出的 Service Mesh 的 CPU 和延遲的性能損失都不大的緣由。固然,這裏我是刻意選擇了100和10這兩個係數來拼湊出2%這個估算結果,以迎合咱們前面給出「均值約增長2%」的數據。這不是準確數值,只是用來模擬。
前面的分析能夠解釋性能開銷增長很少的情景,可是,還記得咱們的數據中有一個不科學的地方嗎:「部分特殊場景帶 SOFAMosn 比不帶 SOFAMosn RT 反而下降7.5%」。
理論上,不管業務邏輯和 SDK 的開銷比 Sidecar 的開銷大多少,也就是無論咱們怎麼優化 Sidecar 的性能,其結果也只能接近零。不管如何不可能出現多兩個 Sidecar,CPU 消耗和延遲反而下降的狀況。
這個「不科學」是怎麼出現的?
咱們繼續來回顧這個 Service Mesh 的實現原理圖:
出現性能大幅提高的主要的緣由,是咱們在 SOFAMosn 上作了大量的優化,特別是路由的緩存。在螞蟻金服內部,服務路由的計算和處理是一個異常複雜的邏輯,很是耗資源。而在最近的優化中,咱們爲服務路由增長了緩存,從而使得服務路由的性能獲得了大幅提高。所以:
備註:這裏我依然是刻意拼湊出-7%這個估算結果,請注意這不是準確數值,只是用來模擬示意。
也許有同窗會說,這個結果不「公平」:這是優化了的服務路由實如今 PK 沒有優化的服務路由實現。的確,理論上說,在 Sidecar 中作的任何性能優化,在 SDK 裏面一樣能夠實現。可是,在 SDK 上作的優化須要等整個調用鏈路上的應用所有升級到優化後的 SDK 以後才能徹底顯現。而在傳統 SDK 方案中,SDK 的升級是須要應用配合,這一般是一個漫長的等待過程。極可能代碼優化和發版一週搞定,可是讓全站全部應用都升級到新版本的 SDK 要花費數月甚至一年。
此時 Service Mesh 的優勢就凸顯出來了:Service Mesh 下,業務應用和 Sidecar 能夠「獨立維護」 ,咱們能夠很方便的在業務應用無感知的狀況下升級 Sidecar。所以,任何 Sidecar 的優化結果,均可以很是快速的獲取收益,從而推進咱們對 Sidecar 進行持續不斷的升級。
前面這個延遲下降7%的例子,就是一個很是經典的故事:在中秋節先後,咱們開發團隊的同窗,任勞任怨加班加點的進行壓測和性能調優,在一週以內連續作了屢次性能優化,連發了多個性能優化的小版本,以「小步快跑」的方式,最後拿到了這個令你們都很是開心的結果。
總結:持續不斷的優化 + 無感知升級 = 快速得到收益。
這是一個意外驚喜,但又在情理之中:這是 SDK 下沉到基礎設施並具有獨立升級能力後帶來的紅利。
也但願這個例子,可以讓你們更深入的理解 Service Mesh 的基本原理和優點。
當 Service Mesh 遇到螞蟻金服的規模,困難和挑戰也隨之而來:當規模達到必定程度時,不少本來很小的問題都會急劇放大。後面我將在性能、容量、穩定性、可維護性和應用遷移幾個方面給你們介紹咱們遇到的挑戰和實踐。
在數據平面上,螞蟻金服採用了自行研發的基於 Golang 的方案:SOFAMosn。關於爲何選擇全新開發 SOFAMosn,而不是直接使用 Envoy 的緣由,在去年 QCon 的演講中我有過詳細的介紹,有興趣能夠了解。
前面咱們給出的性能數據,實際上主要是數據平面的性能,也就是做爲 Sidecar 部署的 SOFAMosn 的性能表現。從數據上看 SOFAMosn 目前的性能表現仍是很不錯的,這背後是咱們在 SOFAMosn 上作了很是多的性能優化。
此外還有前面特地重點介紹的路由緩存優化(也就是那個不科學的延遲下降7%的場景)。因爲螞蟻金服內部路由的複雜性(一筆請求常常須要走多種路由策略最終肯定路由結果目標),經過對相同條件的路由結果作秒級緩存,咱們成功將某核心鏈路的全鏈路 RT 下降 7%。
這裏我簡單給出了上述幾個典型案例,雙十一以後會有更多更詳細的 SOFAMosn 資料分享出來,有興趣的同窗能夠多關注。
在雙十一事後,咱們也將加大 SOFAMosn 在開源上的投入,將 SOFAMosn 作更好地模塊化地抽象,而且將雙十一中通過考驗的各類優化放進去,預計在 2020 年的 1 月底能夠發佈第一個優化後的版本。
Mixer 的性能優化是個老生常談的話題,基本上只要談及 Istio 的性能,都避無可避。
Mixer 的性能問題,一直都是 Istio 中最被人詬病的地方。
尤爲在 Istio 1.1/1.2版本以後,引入 Out-Of-Process Adapter 以後,更是雪上加霜。
原來 Sidecar 和 Mixer 之間的遠程調用已經嚴重影響性能,在引入 Out-Of-Process Adapter 以後又在 Traffic 流程中引入了新的遠程調用,性能更加不可接受。
從落地的角度看,Mixer V1 糟糕至極的性能,已是「生命沒法承受之重」。對於通常規模的生產級落地而言,Mixer 性能已是難於接受,更不要提大規模落地……
Mixer V2 方案則給了社區但願:將 Mixer 合併進 Sidecar,引入 web assembly 進行 Adapter 擴展,這是咱們期待的 Mixer 落地的正確姿式,是 Mixer 的將來,是 Mixer 的"詩和遠方"。然而社區望穿秋水,但 Mixer V2 遲遲未能啓動,長期處於 In Review 狀態,遠水解不了近渴。
所以在 Mixer 落地上,咱們只能接受妥協方案,所謂"眼前的苟且":一方面咱們棄用 Mixer v1,改成在 SOFAMosn 中直接實現功能;另外一方面咱們並無實現 Mixer V2 的規劃。實際的落地方式是:咱們只在 SOFAMosn 中提供最基本的策略檢查功能如限流,鑑權等,另外可觀測性相關的各類能力也都是從 SOFAMosn 直接輸出。
在 Istio 中,Pilot 是一個被 Mixer 掩蓋的重災區:長期以來你們的性能關注點都在 Mixer,表現糟糕並且問題明顯的 Mixer 一直在吸引火力。可是當選擇放棄 Mixer(典型如官方在 Istio 新版本中提供的關閉 Mixer 的配置開關)以後,Pilot 的性能問題也就很快浮出水面。
這裏簡單展現一下咱們在 Pilot 上作的部分性能優化:
這裏簡單解釋一下,Pilot 在推送數據給 Sidecar 時,代碼實現上的有些簡單:Sidecar 鏈接上 Pilot 時;Pilot 就給 Sidecar 下發 xDS 數據。假定某個服務有100個實例,則這100個實例的 Sidecar 鏈接到 Pilot 時,每次都會進行一次下發數據的計算,而後進行序列化,再下發給連上來的 Sidecar。下一個 Sidecar 鏈接上來時,重複這些計算和序列化工做,而無論下發的數據是否徹底相同,咱們稱之爲「千人千面」。
而實際中,同一個服務每每有多個實例,Pilot 下發給這些實例的 Sidecar 的數據每每是相同的。所以咱們作了優化,提早作預計算和序列化並緩存結果,以便後續重複的實例能夠直接從緩存中取。所以,「千人千面」就能夠優化爲「千人百面」或者「千人十面」,從而大幅提升性能。
另外,對於整個 Service Mesh 體系,Pilot 相當重要。所以 Pilot 自己也應該進行保護,也須要諸如熔斷/限流等特性。
在 Service Mesh 的運維上,咱們繼續堅持「線上變動三板斧」原則。這裏的變動,包括髮布新版本,也包括修改配置,尤爲特指修改 Istio 的 CRD。
線上變動「三板斧」指的是:
咱們在這裏額外引入了一個名爲「ScopeConfig」的配置變動生效範圍的控制能力,即配置變動的灰度。什麼是配置變動的灰度呢?
Istio 的官方實現,默認修改配置(Istio API 對應的各類 CRD)時新修改的配置會直接全量推進到全部生效的 Sidecar,即配置變動自己沒法灰度。注意這裏和平時說的灰度不一樣,好比最多見的場景,服務 A 調用服務 B,並假定服務 A 有100個實例,而服務 B 有10個 v1 版本的服務實例正在進行。此時須要更新服務 B 到新的 v2 版本。爲了驗證 v2 新版本,咱們一般會選擇先上線一個服務 B 的 v2 版本的新實例,經過 Istio 進行流量百分比拆分,好比切1%的流量到新的 v2 版本的,這被稱爲「灰度發佈」。此時新的「切1%流量到 v2」的 CRD 被下發到服務 A 的 Sidecar,這100個 Sidecar 中的每一個都會執行該灰度策略。若是 v2 版本有問題不能正常工做,則隻影響到1%的流量,即此時 Istio 的灰度控制的是 CRD 配置生效以後 Sidecar 的流量控制行爲。
可是,實際生產中,配置自己也是有風險的。假設在配置 Istio CRD 時出現低級錯誤,不當心將新舊版本的流量比例配反了,錯誤配置成了99%的流量去 v2 版本。則當新的 CRD 配置被下發到所有100個服務 A 的實例時並生效時, Sidecar 控制的流量就會發生很是大的變化,形成生產事故。
爲了規避這個風險,就必須引入配置變動的範圍控制,好比將新的 CRD 配置下發到少數 Sidecar,驗證配置無誤後再擴展到其餘 Sidecar。
在 Service Mesh 落地的過程當中,現有應用如何平滑遷移到 Service Mesh,是一個相當重要的話題。典型如基於傳統微服務框架如 SpringCloud/Dubbo 的應用,如何逐個(或者分批)的遷移到 Service Mesh 上。
螞蟻金服在去年進行落地實踐時,就特別針對應用平滑遷移進行了深刻研究和探索。這個問題是 Service Mesh 社區很是關注的核心落地問題,今天咱們重點分享。
在今年9月份的雲棲大會上,螞蟻金服推出了雙模微服務的概念,以下圖所示:
「雙模微服務」是指傳統微服務和 Service Mesh 雙劍合璧,即「基於 SDK 的傳統微服務」能夠和「基於 Sidecar 的 Service Mesh 微服務」實現下列目標:
雙模還包括對應用運行平臺的要求,即兩個體系下的應用,既能夠運行在虛擬機之上,也能夠運行在容器/k8s 之上。
怎麼實現這麼一個美好的雙模微服務目標呢?
咱們先來分析一下傳統微服務體系和 Service Mesh 體系在服務註冊/服務發現/服務相關的配置下發上的不一樣。
首先看傳統微服務體系,其核心是服務註冊中心/配置中心,應用經過引用 SDK 的方式來實現對接各類註冊中心/配置中心。一般不一樣的註冊中心/配置中心都有各自的實現機制和接口協議,SDK 和註冊中心/配置中心的交互方式屬於內部實現機制,並不通用。
優勢是支持海量數據(十萬級別甚至百萬級別),具有極強的分發能力,並且通過十餘年間的打磨,穩定可靠可謂久經考驗。市面上有不少成熟的開源產品,各大公司也都有本身的穩定實現。如阿里集團的 Nacos,螞蟻金服的 SOFARegistry。
SOFARegistry:github.com/sofastack/s…
缺點是註冊中心/配置中心與 SDK 一般是透傳數據,即註冊中心/配置中心只進行數據的存儲和分發。大量的控制邏輯須要在 SDK 中實現,而 SDK 是嵌入到應用中的。所以,任何變動都須要改動 SDK 並要求應用升級。
再來看看 Service Mesh 方案,以 Istio 爲例:
Service Mesh 的優勢是引入了控制平面(在 Istio 中具體指 Pilot 組件),經過控制平面來提供強大的控制邏輯。而控制平面的引入,MCP/xDS 等標準協議的制訂,實現了數據源和下發數據的解耦。即存儲於註冊中心/配置中心(在 Istio 中體現爲 k8s api server + Galley)的數據能夠有多種靈活的表現形式,如 CRD 形式的 Istio API,經過運行於 Pilot 中的 Controller 來實現控制邏輯和格式轉換,最後統一轉換到 xDS/UDPA。這給 API 的設計提供了很是大的施展空間,極具靈活度,擴展性很是好。
缺點也很明顯,和成熟的註冊中心/配置中心相比,支持的容量有限,下發的性能和穩定性相比之下有很大差距。
控制平面和傳統註冊中心/配置中心可謂各有千秋,尤爲他們的優缺點是互補的,如何結合他們的優點?
此外,如何打通兩個體系是 Service Mesh 社區的老大難問題。尤爲是缺少標準化的社區方案,只能自行其是,各自爲戰。
最近,在綜合了過去一年多的思考和探索以後,螞蟻金服和阿里集團的同事們共同提出了一套完整的解決方案,咱們戲稱爲「終極方案」:但願能夠經過這個方案打通傳統微服務體系和 Service Mesh 體系,完全終結這個困擾已久的問題。
這個方案的核心在於: 以 MCP 和 xDS/UDPA 協議爲基礎,融合控制平面和傳統註冊中心/配置中心。
如上圖所示,若是咱們將融合控制平面和傳統註冊中心/配置中心而來的新的產品形態視爲一個總體,則這個新產品形態的能力主要有三塊:
這個新的產品形態能夠理解爲「帶控制平面的註冊中心/配置中心」,或者「存儲/分發能力增強版的控制平面」。名字不重要,重要的是各節點的通信交互協議必須標準化:
基於這個思路,咱們給出以下圖所示的解決方案,但願最大限度的整合傳統微服務框架和 Service Mesh。其基本指導原則是:求同存異,保持兼容。
上圖中,藍色部分是通用的功能模塊,咱們但願能夠和社區一塊兒共建。紅色部分是不兼容的功能模塊,可是保持 API 兼容。
具體說,右邊是各類註冊中心(配置中心同理):
左邊是數據平面:
這個方案對運行平臺沒有任何特別要求,只要網絡能通,應用和各個組件能夠靈活選擇運行在容器(k8s)中或虛擬機中。
須要特別強調的是,這個方案最大的優勢在於它是一個高度標準化的社區方案:經過 MCP 協議和 xDS 協議對具體實現進行了解耦和抽象,整個方案沒有綁定到任何產品和供應商。所以,咱們但願這個方案不只僅能夠用於阿里集團和螞蟻金服,也能夠用於整個 Istio 社區。阿里集團和螞蟻金服目前正在和 Istio 社區聯繫,咱們計劃將這個方案貢獻出來,並努力完善和增強 Pilot 的能力,使之可以知足咱們上面提到的的美好願景:融合控制平面和傳統註冊中心/配置中心的優勢,打通傳統微服務框架和 Service Mesh,讓應用能夠平滑遷移靈活演進。
但願社區承認這個方案的同窗能夠參與進來,和咱們一塊兒努力來建設和完善它。
在過去一年間,這個問題常常被人問起。借這個機會,結合過去一年中的實踐,以及相比去年此時更多的心得和領悟,但願能夠給出一些更具參考價值的建議。
有沒有短時間急迫需求,一般取決於當前有沒有迫切須要解決的痛點。
在 Service Mesh 的發展過程當中,有兩個特別清晰而直接的痛點,它們甚至對 Service Mesh 的誕生起了直接的推進做用:
並且,這兩個痛點有可能會同時存在:有多個編程語言的類庫須要升級版本......
因此,第一個建議是先檢查是否存在這兩個痛點。
Service Mesh 的無侵入性,在老應用升級改造,尤爲是但願少改代碼甚至徹底不改代碼的狀況下,堪稱神器。
因此,第二個建議是,若是有老應用無改動升級改造的需求,對流量控制、安全、可觀測性有訴求,則能夠考慮採用 Service Mesh。
這個建議僅僅適用於技術力量相對薄弱的企業,這些企業廣泛存在一個問題:技術力量不足,或者主要精力投放在業務實現,致使無力維護統一的技術棧,系統呈現煙囪式架構。
傳統煙囪式架構的常見問題有:
這種狀況下,建議引入 Service Mesh 技術,經過 Service Mesh 將非業務邏輯從應用剝離並下沉的特性,來統一整個公司的技術棧。
特別須要強調的是,對於技術力量不足、嚴重依賴外包和採購的企業,尤爲是銀行/保險/證券類金融企業,引入 Service Mesh 會有一個額外的特殊功效,相當重要:
將乙方限制在業務邏輯的實現上
即企業自行建設和控制 Service Mesh,做爲統一的技術棧,在其上再開發運行業務應用。因爲這些業務應用運行在 Servcie Mesh 之上,所以只須要實現業務邏輯,非業務邏輯的功能由 Servcie Mesh 來提供。經過這種方式,能夠避免乙方公司借項目機會引入各類技術棧而形成技術棧混亂,致使後期維護成本超高;尤爲是要避免引入私有技術棧,由於私有技術棧會形成對甲方事實上的技術綁定(甚至技術綁架)。
最後一個建議,和雲原生有關。在去年的 QCon 演講中,我曾經提到咱們在探索 Kubernetes / Service Mesh / Serverless 結合的思路。在過去一年,螞蟻金服一直在雲原生領域作深度探索,也有一些收穫。其中,有一點咱們是很是明確的:Mesh 化是雲原生落地的關鍵步驟。
下圖展現了螞蟻金服在雲原生落地方面的基本思路:
因此,個人最後一個建議是,請結合你的長遠發展方向考慮:若是雲原生是你的詩和遠方,那麼 Service Mesh 就是必由之路。
Kubernetes / Service Mesh / Serverless 是當下雲原生落地實踐的三駕馬車,相輔相成,相得益彰。
在最後,重申一下 Service Mesh 的核心價值:
實現業務邏輯和非業務邏輯的分離。
前面的關於要不要採用 Service Mesh 四個建議,歸根到底,最終都是對這個核心價值的延展。只有在分離業務邏輯和非業務邏輯並以 Sidecar 形式獨立部署以後,纔有了這四個建議所依賴的特性:
但願你們在理解 Service Mesh 的核心價值以後,再來權衡要不要採用Service Mesh,也但願我上面給出的四個建議能夠對你們的決策有所幫助。
在今天的內容中,首先介紹了螞蟻金服 Service Mesh 的發展歷程,給你們展現了雙十一大規模落地的規模和性能指標,並解釋了這些指標背後的原理。而後分享了螞蟻金服在 Service Mesh 大規模落地中遇到的困難和挑戰,以及咱們爲此作的工做,重點介紹了應用平滑遷移的所謂「終極方案」;最後結合螞蟻金服在雲原生和 Service Mesh 上的實踐心得,對因而否應該採用 Service Mesh 給出了幾點建議。
目前螞蟻金服正在靜待今年的雙十一大考,這將是 Service Mesh 的歷史時刻:全球最大規模的 Service Mesh 集羣,Service Mesh 首次超大規模部署......一切都是如此的值得期待。
請對 Service Mesh 感興趣的同窗稍後繼續關注,預期在雙十一以後會有一系列的分享活動:
今年是我在 QCon 演講的第三年,這三年中的三次演講,能夠說是從一個側面反映了國內 Service Mesh 發展的不一樣階段:
從佈道,到探索,再到深度實踐,一路走來已經是三年,國內的 Service Mesh 發展,也從籍籍無名,到煊赫一時,再到理性迴歸。Service Mesh 的落地,依然還存在很是多的問題,距離普及還有很是遠的路要走,然而 Service Mesh 的方向,已經被愈來愈多的人瞭解和承認。
高曉鬆說:"生活不止眼前的苟且,還有詩和遠方"。對於 Service Mesh 這樣的新技術來講,也是如此。
鳴謝 InfoQ 和 Qcon 提供的機會,讓我得以每一年一次的爲你們分享 Service Mesh 的內容。2020年,螞蟻金服將繼續推動和擴大 Service Mesh 落地的規模,繼續引領 Service Mesh 在金融行業的實踐探索。但願明年,能夠有更多更深刻的內容帶給你們!
敖小劍,螞蟻金服高級技術專家,十七年軟件開發經驗,微服務專家,Service Mesh 佈道師,ServiceMesher 社區聯合創始人。專一於基礎架構和中間件,Cloud Native 擁護者,敏捷實踐者,堅守開發一線打磨匠藝的架構師。曾在亞信、愛立信、惟品會等任職,目前就任螞蟻金服,在中間件團隊從事 Service Mesh/ Serverless 等雲原生產品開發。本文整理自10月18日在 QCon 上海 2019 上的演講內容。
公衆號:金融級分佈式架構(Antfin_SOFA)