最近,技術(shù)圈被 Meta 的一篇最新論文攪得沸沸揚揚。這篇論文猶如一顆重磅炸彈,直截了當?shù)匕l(fā)出預(yù)警:現(xiàn)有的微服務(wù)架構(gòu),恐怕很難撐過下一個 AI 爆發(fā)周期!這一觀點瞬間引發(fā)了行業(yè)內(nèi)外的廣泛關(guān)注和激烈討論,畢竟微服務(wù)架構(gòu)在當下的軟件開發(fā)中可是占據(jù)著舉足輕重的地位,眾多企業(yè)的業(yè)務(wù)系統(tǒng)都構(gòu)建在這一架構(gòu)之上 。可 Meta 卻拋出這么一個極具沖擊力的觀點,怎能不讓人震驚?
微服務(wù)架構(gòu),AI 領(lǐng)域的 “老伙計”
在深入探討 Meta 的觀點之前,我們先來好好認識一下微服務(wù)架構(gòu)這位在技術(shù)領(lǐng)域摸爬滾打多年的 “老伙計” ,看看它在 AI 領(lǐng)域曾經(jīng)創(chuàng)造過怎樣的輝煌。
(一)微服務(wù)架構(gòu)的 “前世今生”
微服務(wù)架構(gòu),簡單來說,就是把一個大型的軟件應(yīng)用拆分成多個小型、獨立的服務(wù)。這些服務(wù)各自專注于一項特定的業(yè)務(wù)功能,就像一個個分工明確的小助手,通過輕量級的通信機制相互協(xié)作,共同完成復(fù)雜的任務(wù) 。與傳統(tǒng)的單體架構(gòu)相比,微服務(wù)架構(gòu)就像是一支靈活機動的特種部隊,每個成員都能獨立作戰(zhàn),又能在關(guān)鍵時刻協(xié)同配合,而單體架構(gòu)則更像是一艘龐大的航母,雖然強大,但不夠靈活,一旦某個部分出現(xiàn)問題,可能會影響到整個系統(tǒng)的運行。
微服務(wù)架構(gòu)的發(fā)展歷程也頗為曲折。它的概念最早可追溯到 2005 年,由 Peter Rodgers 提出雛形,當時被稱為 “Micro-Web-Service” 。2011 年,軟件架構(gòu)師們正式提出 “微服務(wù)” 一詞,直到 2014 年,Martin Fowler 發(fā)表相關(guān)文章,才讓微服務(wù)架構(gòu)真正進入大眾視野,并憑借其自身優(yōu)勢在軟件開發(fā)領(lǐng)域迅速走紅 。此后,越來越多的企業(yè)開始采用微服務(wù)架構(gòu)來構(gòu)建自己的業(yè)務(wù)系統(tǒng),它也逐漸成為了分布式系統(tǒng)開發(fā)的主流架構(gòu)之一。
(二)在 AI 領(lǐng)域的 “輝煌戰(zhàn)績”
在 AI 領(lǐng)域,微服務(wù)架構(gòu)同樣有著出色的表現(xiàn)。以自然語言處理為例,像智能客服系統(tǒng),背后就離不開微服務(wù)架構(gòu)的支持。通過將語言理解、意圖識別、對話管理等功能拆分成不同的微服務(wù),每個微服務(wù)專注于自己擅長的領(lǐng)域,不僅提高了處理效率,還使得系統(tǒng)的擴展性和維護性大大增強 。當有新的語言模型或算法出現(xiàn)時,只需要對相應(yīng)的微服務(wù)進行更新和替換,而不會影響到整個系統(tǒng)的運行。
在圖像識別領(lǐng)域,微服務(wù)架構(gòu)也發(fā)揮著重要作用。比如在一個大型的圖像搜索系統(tǒng)中,圖像特征提取、圖像分類、相似圖像匹配等功能都可以由不同的微服務(wù)來實現(xiàn)。這些微服務(wù)可以根據(jù)業(yè)務(wù)需求獨立擴展,當用戶量增加導致圖像搜索請求增多時,只需對圖像搜索微服務(wù)進行擴容,就能確保系統(tǒng)能夠快速響應(yīng)用戶的請求,為用戶提供良好的使用體驗。
可以說,微服務(wù)架構(gòu)的出現(xiàn),為 AI 的發(fā)展提供了強大的技術(shù)支撐,使得 AI 應(yīng)用能夠更加高效、靈活地運行,在各個領(lǐng)域得到更廣泛的應(yīng)用和發(fā)展。
下一個 AI 爆發(fā)周期,會是什么樣? (一)需求 “大變身”
從行業(yè)趨勢來看,下一個 AI 爆發(fā)周期,對算力的需求將達到一個前所未有的高度。隨著 AI 模型的不斷復(fù)雜化,像 GPT-4o 這樣的多模態(tài)大模型,其訓練和運行所需的算力呈指數(shù)級增長 。專家預(yù)測,未來的 AI 模型,如 GPT-6 的能耗或?qū)⑦_到 700 萬度,這意味著 AI 算力的持續(xù)增長將對環(huán)境帶來更大壓力 。這就要求我們不僅要提升算力,還要注重能效優(yōu)化和采用綠色計算技術(shù),以滿足 AI 發(fā)展對算力的需求,同時減少對環(huán)境的影響。
在數(shù)據(jù)處理方面,隨著物聯(lián)網(wǎng)、邊緣設(shè)備和用戶行為產(chǎn)生大量數(shù)據(jù),數(shù)據(jù)量和生成速度不斷增加,且數(shù)據(jù)類型更加多樣化,包括圖片、文檔、圖、時序、交易等多種模態(tài)的數(shù)據(jù) 。這就需要我們具備更強的數(shù)據(jù)處理能力,能夠?qū)A康亩嗄B(tài)數(shù)據(jù)進行高效清洗、分析和挖掘。高質(zhì)量訓練數(shù)據(jù)是進一步提升基礎(chǔ)模型性能的關(guān)鍵,向量數(shù)據(jù)庫作為提升模型服務(wù)能力的核心技術(shù),將在數(shù)據(jù)處理中發(fā)揮重要作用 。
實時性也是下一個 AI 爆發(fā)周期的關(guān)鍵需求。在自動駕駛、智能安防等領(lǐng)域,系統(tǒng)需要對實時數(shù)據(jù)進行快速處理和決策,以確保安全和高效運行。例如,在自動駕駛中,車輛需要實時感知周圍環(huán)境信息,并迅速做出駕駛決策,任何延遲都可能導致嚴重后果。因此,未來的 AI 架構(gòu)必須能夠滿足這些領(lǐng)域?qū)崟r性的嚴格要求,提供快速響應(yīng)的能力。
(二)應(yīng)用場景 “大拓展”
在智能家居領(lǐng)域,AI 的爆發(fā)將帶來全新的體驗。智能設(shè)備將更加智能,能夠根據(jù)用戶的習慣和需求自動調(diào)節(jié)。比如,智能照明系統(tǒng)可以根據(jù)用戶的作息時間和環(huán)境光線自動調(diào)整亮度;溫控設(shè)備能根據(jù)居住者的習慣和實時環(huán)境溫度自動調(diào)節(jié)室溫,實現(xiàn)能源的高效利用和智能化管理 。AI 還將使智能家居設(shè)備之間實現(xiàn)更智能的協(xié)同和互動,構(gòu)建一個更加智能化、人性化的家居生態(tài)系統(tǒng)。當智能門鎖檢測到用戶回家時,會自動向智能音箱發(fā)送指令,播放用戶喜愛的音樂,并同時通知智能燈光系統(tǒng)打開合適的燈光。
在智能醫(yī)療領(lǐng)域,AI 將發(fā)揮更大的作用。AI 技術(shù)可以幫助醫(yī)生更準確地診斷疾病,提高診斷的準確性和效率。通過深度學習和圖像識別技術(shù),AI 能夠自動分析和診斷醫(yī)療影像,如 X 射線、CT 掃描等,顯著提高早期檢出率 。AI 還可以根據(jù)患者的遺傳信息、生活習慣等制定個性化的治療和預(yù)防計劃,提供更有效的治療方案,同時減少不必要的醫(yī)療干預(yù)和成本 。在手術(shù)過程中,AI 技術(shù)能夠提供實時的數(shù)據(jù)分析和決策支持,幫助外科醫(yī)生更精準地進行手術(shù)操作,降低手術(shù)風險。
自動駕駛領(lǐng)域也將因 AI 的爆發(fā)而發(fā)生巨大變革。隨著 AI 技術(shù)的不斷進步,自動駕駛汽車將更加智能和安全。它們能夠更準確地感知周圍環(huán)境,實時處理大量的傳感器數(shù)據(jù),做出更合理的駕駛決策。AI 還可以通過對交通數(shù)據(jù)的分析,優(yōu)化交通流量,減少擁堵,提高出行效率。未來,自動駕駛汽車可能會成為人們?nèi)粘3鲂械闹饕绞街唬淖冋麄€交通出行格局。
現(xiàn)有微服務(wù)架構(gòu),麻煩來了!
既然下一個 AI 爆發(fā)周期的需求和應(yīng)用場景有了這么大的變化,那現(xiàn)有的微服務(wù)架構(gòu)能否滿足這些新的要求呢?很遺憾,Meta 的論文指出,現(xiàn)有的微服務(wù)架構(gòu)在面對下一個 AI 爆發(fā)周期時,可能會面臨諸多困境。
(一)性能瓶頸 “卡脖子”
在微服務(wù)架構(gòu)中,服務(wù)間的通信開銷是一個不容忽視的問題。當一個 AI 應(yīng)用涉及多個微服務(wù)之間的頻繁交互時,每次通信都需要進行網(wǎng)絡(luò)傳輸、序列化和反序列化等操作,這些操作會消耗大量的時間和資源,從而導致系統(tǒng)性能下降 。以一個智能推薦系統(tǒng)為例,它可能需要調(diào)用用戶信息微服務(wù)獲取用戶的基本信息,調(diào)用商品信息微服務(wù)獲取商品的相關(guān)數(shù)據(jù),再調(diào)用推薦算法微服務(wù)進行推薦計算。如果這些微服務(wù)之間的通信效率低下,整個推薦系統(tǒng)的響應(yīng)速度就會受到嚴重影響,用戶可能需要等待很長時間才能得到推薦結(jié)果,這無疑會極大地降低用戶體驗。
資源隔離也是微服務(wù)架構(gòu)中的一個特性,它在一定程度上保證了服務(wù)的獨立性和穩(wěn)定性,但同時也帶來了資源利用率不高的問題。在 AI 應(yīng)用中,不同的任務(wù)對資源的需求差異很大。比如在圖像識別任務(wù)中,在訓練階段,需要大量的計算資源來處理海量的圖像數(shù)據(jù);而在推理階段,雖然計算資源需求相對減少,但對內(nèi)存和網(wǎng)絡(luò)帶寬的需求可能會增加 。由于微服務(wù)架構(gòu)的資源隔離機制,每個微服務(wù)只能使用分配給自己的固定資源,當某個微服務(wù)的資源需求發(fā)生變化時,很難及時從其他微服務(wù)獲取額外的資源,這就可能導致資源的浪費或者不足,進而影響系統(tǒng)的整體性能。
(二)擴展性 “力不從心”
面對 AI 爆發(fā)帶來的海量數(shù)據(jù)和用戶請求,微服務(wù)架構(gòu)的擴展性也面臨著嚴峻的考驗。在水平擴展方面,雖然微服務(wù)架構(gòu)理論上可以通過增加服務(wù)實例的數(shù)量來應(yīng)對負載的增加,但在實際應(yīng)用中,隨著服務(wù)實例的增多,服務(wù)注冊與發(fā)現(xiàn)、負載均衡等方面的管理難度也會隨之增大 。以一個大型的電商搜索系統(tǒng)為例,當用戶量和商品數(shù)據(jù)量不斷增加時,需要不斷增加搜索微服務(wù)的實例來提高系統(tǒng)的處理能力。但是,過多的服務(wù)實例會使得服務(wù)注冊中心的壓力增大,可能導致服務(wù)注冊和發(fā)現(xiàn)的延遲增加。負載均衡算法也需要更加智能和高效,才能確保請求能夠均勻地分配到各個服務(wù)實例上,否則就可能出現(xiàn)部分實例負載過高,而部分實例閑置的情況。
垂直擴展同樣存在困境。當單個微服務(wù)的資源需求超出了其所在服務(wù)器的承載能力時,需要對服務(wù)器進行升級或者更換。但是,這種方式不僅成本高昂,而且在升級過程中可能會導致服務(wù)的中斷,影響用戶的正常使用 。此外,對于一些對實時性要求極高的 AI 應(yīng)用,如自動駕駛、智能安防等,即使進行了垂直擴展,也可能無法滿足其對低延遲和高吞吐量的嚴格要求。
(三)成本 “節(jié)節(jié)攀升”
微服務(wù)架構(gòu)在部署、運維和管理多個服務(wù)時,成本也會顯著增加。在部署方面,每個微服務(wù)都需要獨立的運行環(huán)境和資源配置,這就需要更多的服務(wù)器和基礎(chǔ)設(shè)施來支持 。運維方面,由于微服務(wù)數(shù)量眾多,需要監(jiān)控和管理的對象也相應(yīng)增加,這對運維團隊的技術(shù)能力和工作量都提出了更高的要求。管理多個微服務(wù)之間的依賴關(guān)系、版本控制等也需要耗費大量的時間和精力 。以一個擁有數(shù)十個微服務(wù)的大型 AI 平臺為例,部署這些微服務(wù)可能需要數(shù)十臺甚至上百臺服務(wù)器,運維團隊需要時刻關(guān)注每個微服務(wù)的運行狀態(tài),及時處理各種故障和問題。當某個微服務(wù)需要進行升級或者修改時,還需要仔細評估其對其他微服務(wù)的影響,確保整個系統(tǒng)的穩(wěn)定性。
在 AI 爆發(fā)期,隨著業(yè)務(wù)規(guī)模的不斷擴大和服務(wù)數(shù)量的持續(xù)增加,這些成本問題可能會變得更加嚴峻。企業(yè)需要投入更多的資金和人力來維持微服務(wù)架構(gòu)的正常運行,這無疑會增加企業(yè)的運營壓力,降低企業(yè)的競爭力。
突破困境,路在何方?
既然現(xiàn)有的微服務(wù)架構(gòu)存在這么多問題,那我們該如何應(yīng)對下一個 AI 爆發(fā)周期的挑戰(zhàn)呢?這就需要我們從技術(shù)革新和架構(gòu)重構(gòu)兩個方面來尋找解決方案。
(一)技術(shù)革新 “新解法”
Serverless 架構(gòu)或許是解決微服務(wù)架構(gòu)問題的一個新方向。Serverless 架構(gòu),簡單來說,就是開發(fā)者無需管理服務(wù)器,只需專注于編寫業(yè)務(wù)代碼,服務(wù)器的管理、資源分配等工作都由云服務(wù)提供商來完成 。在 AI 應(yīng)用中,Serverless 架構(gòu)可以根據(jù)實際的業(yè)務(wù)負載自動調(diào)整資源,實現(xiàn)按需使用、按量付費。比如在圖像識別任務(wù)中,當有大量圖像需要處理時,Serverless 架構(gòu)可以自動分配更多的計算資源來加速處理過程;而當任務(wù)完成后,又會自動釋放多余的資源,避免資源的浪費 。這種靈活的資源管理方式,不僅可以提高資源利用率,還能降低成本。
Service Mesh 技術(shù)也為微服務(wù)架構(gòu)的優(yōu)化提供了新的思路。Service Mesh 是一種專門處理服務(wù)通信的基礎(chǔ)設(shè)施層,它將服務(wù)間的通信、服務(wù)發(fā)現(xiàn)、負載均衡、熔斷等功能從業(yè)務(wù)代碼中剝離出來,形成一個獨立的服務(wù)網(wǎng)格 。在 AI 領(lǐng)域,Service Mesh 可以幫助我們更好地管理微服務(wù)之間的復(fù)雜通信。以智能推薦系統(tǒng)為例,通過 Service Mesh,我們可以實現(xiàn)對推薦微服務(wù)之間流量的精確控制,確保在高并發(fā)情況下,系統(tǒng)能夠穩(wěn)定運行。它還能提供強大的安全功能,如認證、授權(quán)、加密等,保障 AI 應(yīng)用中數(shù)據(jù)的安全性和隱私性 。
(二)架構(gòu)重構(gòu) “大手術(shù)”
對現(xiàn)有微服務(wù)架構(gòu)進行重構(gòu)也是應(yīng)對挑戰(zhàn)的重要策略。采用混合架構(gòu),將微服務(wù)架構(gòu)與其他架構(gòu)模式相結(jié)合,可能會是一個不錯的選擇。比如,將微服務(wù)架構(gòu)與事件驅(qū)動架構(gòu)相結(jié)合,在處理一些對實時性要求較高的 AI 任務(wù)時,通過事件驅(qū)動的方式,可以實現(xiàn)快速響應(yīng)和處理 。在智能安防系統(tǒng)中,當監(jiān)控攝像頭檢測到異常事件時,通過事件驅(qū)動機制,能夠立即觸發(fā)相關(guān)的 AI 分析服務(wù),對事件進行快速處理和響應(yīng),提高系統(tǒng)的安全性和可靠性。
優(yōu)化服務(wù)拆分也是架構(gòu)重構(gòu)的關(guān)鍵。在進行服務(wù)拆分時,我們需要更加精細地考慮業(yè)務(wù)功能和數(shù)據(jù)的關(guān)聯(lián)性。根據(jù)業(yè)務(wù)能力進行服務(wù)拆分,將不同的業(yè)務(wù)功能拆分為獨立的服務(wù)。在電商 AI 應(yīng)用中,將商品推薦、用戶畫像、訂單預(yù)測等功能分別拆分為獨立的微服務(wù),每個微服務(wù)專注于自己的業(yè)務(wù)領(lǐng)域,提高業(yè)務(wù)的專業(yè)性和處理效率 。基于領(lǐng)域驅(qū)動設(shè)計(DDD)拆分,通過識別領(lǐng)域模型中的聚合根,將相關(guān)的業(yè)務(wù)邏輯封裝在一個服務(wù)中,這樣可以更好地保證數(shù)據(jù)的一致性和業(yè)務(wù)邏輯的完整性。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.