官术网_书友最值得收藏!

2.1 設(shè)計(jì)理念

本章首先介紹華為元戎設(shè)計(jì)時(shí)踐行的Serverless平臺(tái)設(shè)計(jì)理念。

1. 效率為先

華為元戎架構(gòu)考慮的出發(fā)點(diǎn)是,使開發(fā)者能高效開發(fā)未來云上的各種應(yīng)用。如第1章所分析的現(xiàn)狀,當(dāng)前云上應(yīng)用的開發(fā)者無論使用哪種微服務(wù)框架,都不可避免地要遇到分布式的各種典型問題,例如,如何在微服務(wù)之間通信、如何進(jìn)行分布式調(diào)度、如何保證服務(wù)之間的數(shù)據(jù)一致性等。當(dāng)前的Serverless開發(fā)方式在面對(duì)復(fù)雜應(yīng)用時(shí),仍然存在一些問題,例如,ExCamera[2]在進(jìn)行視頻編解碼時(shí)需要函數(shù)執(zhí)行大規(guī)模的并行任務(wù),函數(shù)之間的通信和編解碼任務(wù)的細(xì)粒度調(diào)度因而仍然需要由Excamera的開發(fā)者再單獨(dú)實(shí)現(xiàn)一套框架。當(dāng)前Serverless開發(fā)方式受限的主要原因是缺乏對(duì)狀態(tài)和數(shù)據(jù)傳遞的高性能操作,為此華為元戎抽象了狀態(tài)及其操作的接口,以及函數(shù)之間的調(diào)用接口,其設(shè)計(jì)目標(biāo)是讓開發(fā)者在開發(fā)應(yīng)用時(shí)只聚焦業(yè)務(wù)邏輯的函數(shù)開發(fā),為開發(fā)者屏蔽分布式帶來的復(fù)雜問題,如彈性擴(kuò)展、底層通信等,從而擁有如“單機(jī)編程”一般的云上應(yīng)用開發(fā)體驗(yàn)。

2. 性能為本

為了推動(dòng)新一代Serverless支持實(shí)時(shí)分布式流處理、大數(shù)據(jù)分析、機(jī)器學(xué)習(xí)等豐富復(fù)雜的應(yīng)用場(chǎng)景,華為元戎需要構(gòu)建高性能的函數(shù)運(yùn)行時(shí)。例如,針對(duì)函數(shù)的冷啟動(dòng)在代碼傳輸、加載等方面進(jìn)行了大幅優(yōu)化,在不改動(dòng)操作系統(tǒng)的情況下,函數(shù)的冷啟動(dòng)時(shí)間最短可達(dá)10~20ms。同時(shí),通過流量快速感知和實(shí)例快速啟動(dòng)等方式實(shí)現(xiàn)了系統(tǒng)的快速彈性伸縮。對(duì)于數(shù)據(jù)量較大的操作,系統(tǒng)原生支持以數(shù)據(jù)為中心的函數(shù)親和調(diào)度,通過近數(shù)據(jù)調(diào)度函數(shù)實(shí)例來避免在函數(shù)間遷移大量數(shù)據(jù)所帶來的開銷,從而能夠更好地支持大數(shù)據(jù)批量處理和機(jī)器學(xué)習(xí)等性能要求較高的應(yīng)用。

3. 服務(wù)為基

華為元戎針對(duì)前后端的高效完備設(shè)計(jì),還考慮到開發(fā)者如何使用函數(shù)與各種云服務(wù)進(jìn)行對(duì)接,即現(xiàn)有服務(wù)(如數(shù)據(jù)庫、存儲(chǔ)、IoT服務(wù))如何方便地觸發(fā)函數(shù),以及在函數(shù)中如何高效地調(diào)用各種后端服務(wù)(如數(shù)據(jù)庫、存儲(chǔ)、消息總線、第三方服務(wù)等)。為此,華為元戎設(shè)計(jì)了Event Bridge和Service Bridge。Event Bridge可以為服務(wù)觸發(fā)函數(shù)提供事件系統(tǒng),對(duì)各類事件進(jìn)行處理和分發(fā);Service Bridge可以為開發(fā)者在函數(shù)中調(diào)用各種服務(wù)提供分類齊全的統(tǒng)一接口及連接池管理類等增值服務(wù)。

主站蜘蛛池模板: 龙州县| 禄丰县| 洛川县| 抚州市| 长宁县| 崇义县| 兖州市| 阳西县| 望城县| 和龙市| 三河市| 商丘市| 汝州市| 红桥区| 青海省| 健康| 麻栗坡县| 阳谷县| 霍州市| 思南县| 湾仔区| 云阳县| 长葛市| 乐都县| 呈贡县| 安吉县| 麻江县| 通辽市| 龙海市| 枣阳市| 南澳县| 江津市| 宜昌市| 武夷山市| 会泽县| 侯马市| 英超| 灌云县| 烟台市| 铁力市| 武邑县|