打開(kāi)網(wǎng)易新聞 查看精彩圖片

最近,技術(shù)圈被 Meta 的一篇最新論文攪得沸沸揚(yáng)揚(yáng)。這篇論文猶如一顆重磅炸彈,直截了當(dāng)?shù)匕l(fā)出預(yù)警:現(xiàn)有的微服務(wù)架構(gòu),恐怕很難撐過(guò)下一個(gè) AI 爆發(fā)周期!這一觀點(diǎn)瞬間引發(fā)了行業(yè)內(nèi)外的廣泛關(guān)注和激烈討論,畢竟微服務(wù)架構(gòu)在當(dāng)下的軟件開(kāi)發(fā)中可是占據(jù)著舉足輕重的地位,眾多企業(yè)的業(yè)務(wù)系統(tǒng)都構(gòu)建在這一架構(gòu)之上 ???Meta 卻拋出這么一個(gè)極具沖擊力的觀點(diǎn),怎能不讓人震驚?

微服務(wù)架構(gòu),AI 領(lǐng)域的 “老伙計(jì)”

在深入探討 Meta 的觀點(diǎn)之前,我們先來(lái)好好認(rèn)識(shí)一下微服務(wù)架構(gòu)這位在技術(shù)領(lǐng)域摸爬滾打多年的 “老伙計(jì)” ,看看它在 AI 領(lǐng)域曾經(jīng)創(chuàng)造過(guò)怎樣的輝煌。

(一)微服務(wù)架構(gòu)的 “前世今生”

微服務(wù)架構(gòu),簡(jiǎn)單來(lái)說(shuō),就是把一個(gè)大型的軟件應(yīng)用拆分成多個(gè)小型、獨(dú)立的服務(wù)。這些服務(wù)各自專注于一項(xiàng)特定的業(yè)務(wù)功能,就像一個(gè)個(gè)分工明確的小助手,通過(guò)輕量級(jí)的通信機(jī)制相互協(xié)作,共同完成復(fù)雜的任務(wù) 。與傳統(tǒng)的單體架構(gòu)相比,微服務(wù)架構(gòu)就像是一支靈活機(jī)動(dòng)的特種部隊(duì),每個(gè)成員都能獨(dú)立作戰(zhàn),又能在關(guān)鍵時(shí)刻協(xié)同配合,而單體架構(gòu)則更像是一艘龐大的航母,雖然強(qiáng)大,但不夠靈活,一旦某個(gè)部分出現(xiàn)問(wèn)題,可能會(huì)影響到整個(gè)系統(tǒng)的運(yùn)行。

微服務(wù)架構(gòu)的發(fā)展歷程也頗為曲折。它的概念最早可追溯到 2005 年,由 Peter Rodgers 提出雛形,當(dāng)時(shí)被稱為 “Micro-Web-Service” 。2011 年,軟件架構(gòu)師們正式提出 “微服務(wù)” 一詞,直到 2014 年,Martin Fowler 發(fā)表相關(guān)文章,才讓微服務(wù)架構(gòu)真正進(jìn)入大眾視野,并憑借其自身優(yōu)勢(shì)在軟件開(kāi)發(fā)領(lǐng)域迅速走紅 。此后,越來(lái)越多的企業(yè)開(kāi)始采用微服務(wù)架構(gòu)來(lái)構(gòu)建自己的業(yè)務(wù)系統(tǒng),它也逐漸成為了分布式系統(tǒng)開(kāi)發(fā)的主流架構(gòu)之一。

(二)在 AI 領(lǐng)域的 “輝煌戰(zhàn)績(jī)”

在 AI 領(lǐng)域,微服務(wù)架構(gòu)同樣有著出色的表現(xiàn)。以自然語(yǔ)言處理為例,像智能客服系統(tǒng),背后就離不開(kāi)微服務(wù)架構(gòu)的支持。通過(guò)將語(yǔ)言理解、意圖識(shí)別、對(duì)話管理等功能拆分成不同的微服務(wù),每個(gè)微服務(wù)專注于自己擅長(zhǎng)的領(lǐng)域,不僅提高了處理效率,還使得系統(tǒng)的擴(kuò)展性和維護(hù)性大大增強(qiáng) 。當(dāng)有新的語(yǔ)言模型或算法出現(xiàn)時(shí),只需要對(duì)相應(yīng)的微服務(wù)進(jìn)行更新和替換,而不會(huì)影響到整個(gè)系統(tǒng)的運(yùn)行。

在圖像識(shí)別領(lǐng)域,微服務(wù)架構(gòu)也發(fā)揮著重要作用。比如在一個(gè)大型的圖像搜索系統(tǒng)中,圖像特征提取、圖像分類、相似圖像匹配等功能都可以由不同的微服務(wù)來(lái)實(shí)現(xiàn)。這些微服務(wù)可以根據(jù)業(yè)務(wù)需求獨(dú)立擴(kuò)展,當(dāng)用戶量增加導(dǎo)致圖像搜索請(qǐng)求增多時(shí),只需對(duì)圖像搜索微服務(wù)進(jìn)行擴(kuò)容,就能確保系統(tǒng)能夠快速響應(yīng)用戶的請(qǐng)求,為用戶提供良好的使用體驗(yàn)。

可以說(shuō),微服務(wù)架構(gòu)的出現(xiàn),為 AI 的發(fā)展提供了強(qiáng)大的技術(shù)支撐,使得 AI 應(yīng)用能夠更加高效、靈活地運(yùn)行,在各個(gè)領(lǐng)域得到更廣泛的應(yīng)用和發(fā)展。

下一個(gè) AI 爆發(fā)周期,會(huì)是什么樣? (一)需求 “大變身”

從行業(yè)趨勢(shì)來(lái)看,下一個(gè) AI 爆發(fā)周期,對(duì)算力的需求將達(dá)到一個(gè)前所未有的高度。隨著 AI 模型的不斷復(fù)雜化,像 GPT-4o 這樣的多模態(tài)大模型,其訓(xùn)練和運(yùn)行所需的算力呈指數(shù)級(jí)增長(zhǎng) 。專家預(yù)測(cè),未來(lái)的 AI 模型,如 GPT-6 的能耗或?qū)⑦_(dá)到 700 萬(wàn)度,這意味著 AI 算力的持續(xù)增長(zhǎng)將對(duì)環(huán)境帶來(lái)更大壓力 。這就要求我們不僅要提升算力,還要注重能效優(yōu)化和采用綠色計(jì)算技術(shù),以滿足 AI 發(fā)展對(duì)算力的需求,同時(shí)減少對(duì)環(huán)境的影響。

在數(shù)據(jù)處理方面,隨著物聯(lián)網(wǎng)、邊緣設(shè)備和用戶行為產(chǎn)生大量數(shù)據(jù),數(shù)據(jù)量和生成速度不斷增加,且數(shù)據(jù)類型更加多樣化,包括圖片、文檔、圖、時(shí)序、交易等多種模態(tài)的數(shù)據(jù) 。這就需要我們具備更強(qiáng)的數(shù)據(jù)處理能力,能夠?qū)A康亩嗄B(tài)數(shù)據(jù)進(jìn)行高效清洗、分析和挖掘。高質(zhì)量訓(xùn)練數(shù)據(jù)是進(jìn)一步提升基礎(chǔ)模型性能的關(guān)鍵,向量數(shù)據(jù)庫(kù)作為提升模型服務(wù)能力的核心技術(shù),將在數(shù)據(jù)處理中發(fā)揮重要作用 。

實(shí)時(shí)性也是下一個(gè) AI 爆發(fā)周期的關(guān)鍵需求。在自動(dòng)駕駛、智能安防等領(lǐng)域,系統(tǒng)需要對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行快速處理和決策,以確保安全和高效運(yùn)行。例如,在自動(dòng)駕駛中,車輛需要實(shí)時(shí)感知周圍環(huán)境信息,并迅速做出駕駛決策,任何延遲都可能導(dǎo)致嚴(yán)重后果。因此,未來(lái)的 AI 架構(gòu)必須能夠滿足這些領(lǐng)域?qū)?shí)時(shí)性的嚴(yán)格要求,提供快速響應(yīng)的能力。

(二)應(yīng)用場(chǎng)景 “大拓展”

在智能家居領(lǐng)域,AI 的爆發(fā)將帶來(lái)全新的體驗(yàn)。智能設(shè)備將更加智能,能夠根據(jù)用戶的習(xí)慣和需求自動(dòng)調(diào)節(jié)。比如,智能照明系統(tǒng)可以根據(jù)用戶的作息時(shí)間和環(huán)境光線自動(dòng)調(diào)整亮度;溫控設(shè)備能根據(jù)居住者的習(xí)慣和實(shí)時(shí)環(huán)境溫度自動(dòng)調(diào)節(jié)室溫,實(shí)現(xiàn)能源的高效利用和智能化管理 。AI 還將使智能家居設(shè)備之間實(shí)現(xiàn)更智能的協(xié)同和互動(dòng),構(gòu)建一個(gè)更加智能化、人性化的家居生態(tài)系統(tǒng)。當(dāng)智能門鎖檢測(cè)到用戶回家時(shí),會(huì)自動(dòng)向智能音箱發(fā)送指令,播放用戶喜愛(ài)的音樂(lè),并同時(shí)通知智能燈光系統(tǒng)打開(kāi)合適的燈光。

在智能醫(yī)療領(lǐng)域,AI 將發(fā)揮更大的作用。AI 技術(shù)可以幫助醫(yī)生更準(zhǔn)確地診斷疾病,提高診斷的準(zhǔn)確性和效率。通過(guò)深度學(xué)習(xí)和圖像識(shí)別技術(shù),AI 能夠自動(dòng)分析和診斷醫(yī)療影像,如 X 射線、CT 掃描等,顯著提高早期檢出率 。AI 還可以根據(jù)患者的遺傳信息、生活習(xí)慣等制定個(gè)性化的治療和預(yù)防計(jì)劃,提供更有效的治療方案,同時(shí)減少不必要的醫(yī)療干預(yù)和成本 。在手術(shù)過(guò)程中,AI 技術(shù)能夠提供實(shí)時(shí)的數(shù)據(jù)分析和決策支持,幫助外科醫(yī)生更精準(zhǔn)地進(jìn)行手術(shù)操作,降低手術(shù)風(fēng)險(xiǎn)。

自動(dòng)駕駛領(lǐng)域也將因 AI 的爆發(fā)而發(fā)生巨大變革。隨著 AI 技術(shù)的不斷進(jìn)步,自動(dòng)駕駛汽車將更加智能和安全。它們能夠更準(zhǔn)確地感知周圍環(huán)境,實(shí)時(shí)處理大量的傳感器數(shù)據(jù),做出更合理的駕駛決策。AI 還可以通過(guò)對(duì)交通數(shù)據(jù)的分析,優(yōu)化交通流量,減少擁堵,提高出行效率。未來(lái),自動(dòng)駕駛汽車可能會(huì)成為人們?nèi)粘3鲂械闹饕绞街唬淖冋麄€(gè)交通出行格局。

現(xiàn)有微服務(wù)架構(gòu),麻煩來(lái)了!

既然下一個(gè) AI 爆發(fā)周期的需求和應(yīng)用場(chǎng)景有了這么大的變化,那現(xiàn)有的微服務(wù)架構(gòu)能否滿足這些新的要求呢?很遺憾,Meta 的論文指出,現(xiàn)有的微服務(wù)架構(gòu)在面對(duì)下一個(gè) AI 爆發(fā)周期時(shí),可能會(huì)面臨諸多困境。

(一)性能瓶頸 “卡脖子”

在微服務(wù)架構(gòu)中,服務(wù)間的通信開(kāi)銷是一個(gè)不容忽視的問(wèn)題。當(dāng)一個(gè) AI 應(yīng)用涉及多個(gè)微服務(wù)之間的頻繁交互時(shí),每次通信都需要進(jìn)行網(wǎng)絡(luò)傳輸、序列化和反序列化等操作,這些操作會(huì)消耗大量的時(shí)間和資源,從而導(dǎo)致系統(tǒng)性能下降 。以一個(gè)智能推薦系統(tǒng)為例,它可能需要調(diào)用用戶信息微服務(wù)獲取用戶的基本信息,調(diào)用商品信息微服務(wù)獲取商品的相關(guān)數(shù)據(jù),再調(diào)用推薦算法微服務(wù)進(jìn)行推薦計(jì)算。如果這些微服務(wù)之間的通信效率低下,整個(gè)推薦系統(tǒng)的響應(yīng)速度就會(huì)受到嚴(yán)重影響,用戶可能需要等待很長(zhǎng)時(shí)間才能得到推薦結(jié)果,這無(wú)疑會(huì)極大地降低用戶體驗(yàn)。

資源隔離也是微服務(wù)架構(gòu)中的一個(gè)特性,它在一定程度上保證了服務(wù)的獨(dú)立性和穩(wěn)定性,但同時(shí)也帶來(lái)了資源利用率不高的問(wèn)題。在 AI 應(yīng)用中,不同的任務(wù)對(duì)資源的需求差異很大。比如在圖像識(shí)別任務(wù)中,在訓(xùn)練階段,需要大量的計(jì)算資源來(lái)處理海量的圖像數(shù)據(jù);而在推理階段,雖然計(jì)算資源需求相對(duì)減少,但對(duì)內(nèi)存和網(wǎng)絡(luò)帶寬的需求可能會(huì)增加 。由于微服務(wù)架構(gòu)的資源隔離機(jī)制,每個(gè)微服務(wù)只能使用分配給自己的固定資源,當(dāng)某個(gè)微服務(wù)的資源需求發(fā)生變化時(shí),很難及時(shí)從其他微服務(wù)獲取額外的資源,這就可能導(dǎo)致資源的浪費(fèi)或者不足,進(jìn)而影響系統(tǒng)的整體性能。

(二)擴(kuò)展性 “力不從心”

面對(duì) AI 爆發(fā)帶來(lái)的海量數(shù)據(jù)和用戶請(qǐng)求,微服務(wù)架構(gòu)的擴(kuò)展性也面臨著嚴(yán)峻的考驗(yàn)。在水平擴(kuò)展方面,雖然微服務(wù)架構(gòu)理論上可以通過(guò)增加服務(wù)實(shí)例的數(shù)量來(lái)應(yīng)對(duì)負(fù)載的增加,但在實(shí)際應(yīng)用中,隨著服務(wù)實(shí)例的增多,服務(wù)注冊(cè)與發(fā)現(xiàn)、負(fù)載均衡等方面的管理難度也會(huì)隨之增大 。以一個(gè)大型的電商搜索系統(tǒng)為例,當(dāng)用戶量和商品數(shù)據(jù)量不斷增加時(shí),需要不斷增加搜索微服務(wù)的實(shí)例來(lái)提高系統(tǒng)的處理能力。但是,過(guò)多的服務(wù)實(shí)例會(huì)使得服務(wù)注冊(cè)中心的壓力增大,可能導(dǎo)致服務(wù)注冊(cè)和發(fā)現(xiàn)的延遲增加。負(fù)載均衡算法也需要更加智能和高效,才能確保請(qǐng)求能夠均勻地分配到各個(gè)服務(wù)實(shí)例上,否則就可能出現(xiàn)部分實(shí)例負(fù)載過(guò)高,而部分實(shí)例閑置的情況。

垂直擴(kuò)展同樣存在困境。當(dāng)單個(gè)微服務(wù)的資源需求超出了其所在服務(wù)器的承載能力時(shí),需要對(duì)服務(wù)器進(jìn)行升級(jí)或者更換。但是,這種方式不僅成本高昂,而且在升級(jí)過(guò)程中可能會(huì)導(dǎo)致服務(wù)的中斷,影響用戶的正常使用 。此外,對(duì)于一些對(duì)實(shí)時(shí)性要求極高的 AI 應(yīng)用,如自動(dòng)駕駛、智能安防等,即使進(jìn)行了垂直擴(kuò)展,也可能無(wú)法滿足其對(duì)低延遲和高吞吐量的嚴(yán)格要求。

(三)成本 “節(jié)節(jié)攀升”

微服務(wù)架構(gòu)在部署、運(yùn)維和管理多個(gè)服務(wù)時(shí),成本也會(huì)顯著增加。在部署方面,每個(gè)微服務(wù)都需要獨(dú)立的運(yùn)行環(huán)境和資源配置,這就需要更多的服務(wù)器和基礎(chǔ)設(shè)施來(lái)支持 。運(yùn)維方面,由于微服務(wù)數(shù)量眾多,需要監(jiān)控和管理的對(duì)象也相應(yīng)增加,這對(duì)運(yùn)維團(tuán)隊(duì)的技術(shù)能力和工作量都提出了更高的要求。管理多個(gè)微服務(wù)之間的依賴關(guān)系、版本控制等也需要耗費(fèi)大量的時(shí)間和精力 。以一個(gè)擁有數(shù)十個(gè)微服務(wù)的大型 AI 平臺(tái)為例,部署這些微服務(wù)可能需要數(shù)十臺(tái)甚至上百臺(tái)服務(wù)器,運(yùn)維團(tuán)隊(duì)需要時(shí)刻關(guān)注每個(gè)微服務(wù)的運(yùn)行狀態(tài),及時(shí)處理各種故障和問(wèn)題。當(dāng)某個(gè)微服務(wù)需要進(jìn)行升級(jí)或者修改時(shí),還需要仔細(xì)評(píng)估其對(duì)其他微服務(wù)的影響,確保整個(gè)系統(tǒng)的穩(wěn)定性。

在 AI 爆發(fā)期,隨著業(yè)務(wù)規(guī)模的不斷擴(kuò)大和服務(wù)數(shù)量的持續(xù)增加,這些成本問(wèn)題可能會(huì)變得更加嚴(yán)峻。企業(yè)需要投入更多的資金和人力來(lái)維持微服務(wù)架構(gòu)的正常運(yùn)行,這無(wú)疑會(huì)增加企業(yè)的運(yùn)營(yíng)壓力,降低企業(yè)的競(jìng)爭(zhēng)力。

突破困境,路在何方?

既然現(xiàn)有的微服務(wù)架構(gòu)存在這么多問(wèn)題,那我們?cè)撊绾螒?yīng)對(duì)下一個(gè) AI 爆發(fā)周期的挑戰(zhàn)呢?這就需要我們從技術(shù)革新和架構(gòu)重構(gòu)兩個(gè)方面來(lái)尋找解決方案。

(一)技術(shù)革新 “新解法”

Serverless 架構(gòu)或許是解決微服務(wù)架構(gòu)問(wèn)題的一個(gè)新方向。Serverless 架構(gòu),簡(jiǎn)單來(lái)說(shuō),就是開(kāi)發(fā)者無(wú)需管理服務(wù)器,只需專注于編寫(xiě)業(yè)務(wù)代碼,服務(wù)器的管理、資源分配等工作都由云服務(wù)提供商來(lái)完成 。在 AI 應(yīng)用中,Serverless 架構(gòu)可以根據(jù)實(shí)際的業(yè)務(wù)負(fù)載自動(dòng)調(diào)整資源,實(shí)現(xiàn)按需使用、按量付費(fèi)。比如在圖像識(shí)別任務(wù)中,當(dāng)有大量圖像需要處理時(shí),Serverless 架構(gòu)可以自動(dòng)分配更多的計(jì)算資源來(lái)加速處理過(guò)程;而當(dāng)任務(wù)完成后,又會(huì)自動(dòng)釋放多余的資源,避免資源的浪費(fèi) 。這種靈活的資源管理方式,不僅可以提高資源利用率,還能降低成本。

Service Mesh 技術(shù)也為微服務(wù)架構(gòu)的優(yōu)化提供了新的思路。Service Mesh 是一種專門處理服務(wù)通信的基礎(chǔ)設(shè)施層,它將服務(wù)間的通信、服務(wù)發(fā)現(xiàn)、負(fù)載均衡、熔斷等功能從業(yè)務(wù)代碼中剝離出來(lái),形成一個(gè)獨(dú)立的服務(wù)網(wǎng)格 。在 AI 領(lǐng)域,Service Mesh 可以幫助我們更好地管理微服務(wù)之間的復(fù)雜通信。以智能推薦系統(tǒng)為例,通過(guò) Service Mesh,我們可以實(shí)現(xiàn)對(duì)推薦微服務(wù)之間流量的精確控制,確保在高并發(fā)情況下,系統(tǒng)能夠穩(wěn)定運(yùn)行。它還能提供強(qiáng)大的安全功能,如認(rèn)證、授權(quán)、加密等,保障 AI 應(yīng)用中數(shù)據(jù)的安全性和隱私性 。

(二)架構(gòu)重構(gòu) “大手術(shù)”

對(duì)現(xiàn)有微服務(wù)架構(gòu)進(jìn)行重構(gòu)也是應(yīng)對(duì)挑戰(zhàn)的重要策略。采用混合架構(gòu),將微服務(wù)架構(gòu)與其他架構(gòu)模式相結(jié)合,可能會(huì)是一個(gè)不錯(cuò)的選擇。比如,將微服務(wù)架構(gòu)與事件驅(qū)動(dòng)架構(gòu)相結(jié)合,在處理一些對(duì)實(shí)時(shí)性要求較高的 AI 任務(wù)時(shí),通過(guò)事件驅(qū)動(dòng)的方式,可以實(shí)現(xiàn)快速響應(yīng)和處理 。在智能安防系統(tǒng)中,當(dāng)監(jiān)控?cái)z像頭檢測(cè)到異常事件時(shí),通過(guò)事件驅(qū)動(dòng)機(jī)制,能夠立即觸發(fā)相關(guān)的 AI 分析服務(wù),對(duì)事件進(jìn)行快速處理和響應(yīng),提高系統(tǒng)的安全性和可靠性。

優(yōu)化服務(wù)拆分也是架構(gòu)重構(gòu)的關(guān)鍵。在進(jìn)行服務(wù)拆分時(shí),我們需要更加精細(xì)地考慮業(yè)務(wù)功能和數(shù)據(jù)的關(guān)聯(lián)性。根據(jù)業(yè)務(wù)能力進(jìn)行服務(wù)拆分,將不同的業(yè)務(wù)功能拆分為獨(dú)立的服務(wù)。在電商 AI 應(yīng)用中,將商品推薦、用戶畫(huà)像、訂單預(yù)測(cè)等功能分別拆分為獨(dú)立的微服務(wù),每個(gè)微服務(wù)專注于自己的業(yè)務(wù)領(lǐng)域,提高業(yè)務(wù)的專業(yè)性和處理效率 ?;陬I(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(DDD)拆分,通過(guò)識(shí)別領(lǐng)域模型中的聚合根,將相關(guān)的業(yè)務(wù)邏輯封裝在一個(gè)服務(wù)中,這樣可以更好地保證數(shù)據(jù)的一致性和業(yè)務(wù)邏輯的完整性。