每日最新頭條.有趣資訊

業務越複雜,架構越好用?企業多元化架構構建之道

當前,大規模結構化數據呈現爆發式增長。隨著 5G 和 IoT 的落地,對企業 IT 系統的性能、可靠性、安全性和擴展性等提出更高的要求。企業如何面對數據洪流,推進智能技術落地、打通和精簡架構已成為企業進化的決定性因素。

2019 年 10 月 18 日,DevRun·選擇不凡——華為雲開發者沙龍走進北京,華為雲的 5 位技術專家也針對鯤鵬開發、分布式數據庫、ModelArts、IoT 平台、微服務中間件等內容,與現場開發者交流技術難點與解決方案。

1

基於鯤鵬開發的雲上多元新架構怎麽玩?

當前,國際貿易保護主義形勢越發嚴峻,各企業已將探索全面自主可控的技術作為重要戰略,並將重心放在多元化的底層、開發生態和雲服務的探索和實踐中。今年 1 月,華為基於 ARM 架構打造了自己的鯤鵬處理器,緊接著又基於華為鯤鵬處理器打造了華為雲鯤鵬雲服務和解決方案。“鯤鵬”一詞逐漸在互聯網圈內成為熱議的焦點。

華為鯤鵬處理器採用 ARM 架構,主要看中其性能獨佔鼇頭, 一個 ARM 核的面積僅為 x86 核的 1/7,而在同樣的芯片尺寸下,ARM 的核數是 x86 的 4 倍以上, ARM 的眾核架構也更符合分布式業務需求。此外,ARM 應用的場景也在快速豐富,從 2014 年只有存儲,如今擴展到網頁類應用、雲服務、大數據、HPC、分析型數據庫、交易型數據庫、企業應用等。

華為雲鯤鵬凌雲計劃架構師白雁提到,鯤鵬雲提供的多元架構,可以讓合適的應用跑在合適的算力之上,開啟“術有專攻”的架構選擇模式。同時,鯤鵬雲支持混合雲交付模式,比如華為雲提供的 HCS(HUAWEI CLOUD Stack) 方案, 支持鯤鵬、x86 資源池混合部署,以及多廠商軟硬體異構納管。同時,華為雲具備多樣的計算能力,支持多行業應用,能實現多形態部署,並統一架構、統一 API、統一生態。

當前,鯤鵬的軟體棧已包括 web、中間件、數據庫、大數據、應用工具、管理監控、編譯工具、開發工具、作業系統等。華為雲正面向有業務系統雲化轉型需求、全棧國產化改造需求、產業雲快速落地、技術選型或方案培訓等企業需求,推出鯤鵬移植相關服務。

而對於應用鯤鵬化改造也並不複雜,主要分為兩個維度:一是從雲主機、容器部署方面,選擇合適的部署方法;二是從開發語言方面,Java、Python、Node.js 等解析性語言可 0 工作量移植,C/C++ 需要重新編譯,Windows 強依賴產品需先轉化到 Linux 再移植。

2

華為雲分布式數據庫技術解讀與思考

在雲計算技術不斷成熟的背景之下,雲數據庫開始崛起,並因為按需擴展、按需付費等特性獲得大量中小企業及互聯網客戶的擁護。Taurus DB 是華為自研關係型數據庫,完全兼容 MySQL ,其實例擴容數據可達 128T,並採用計算與存儲分離、日誌即數據的架構設計,支持 1 寫 15 讀,性能達到原生 MySQL 的 7 倍。

但隨著企業海量數據管理、高並發、高可用、高可擴展性等訴求激增,催生了各種 NoSQL 數據庫,NoSQL 的多樣化同時也給應用開發者及 DBA 帶來了新的挑戰。包括業務故障定位難、數據衝突修複南、數據遷移導致的性能降低、故障恢復周期不斷增長等。

基於這些問題,華為雲數據庫高級技術專家宋立勇重點講述了華為雲的解決方案。華為雲數據庫研發了一款多模 NoSQL 服務 GeminiDB。它是基於華為自主研發的計算存儲分離架構的分布式非關係型數據庫服務,以 100% 兼容開源接口、多副本強一致性與高可用、多模型一致的運維體驗、秒級水準擴展和敏捷彈性伸縮、支持大規模租戶的資源共享、首保證的時延和吞吐量 SLA 等特點為設計目標,在性能、海量數據處理、可靠性方面有明顯優勢。

面向雲原生設計,GeminiDB 計算與存儲分離架構具有如下特點

計算和存儲資源解耦,獨立彈性伸縮

計算節點全負荷分擔

存儲層內置多副本強一致

分布式共享存儲引擎,擴縮容無數據遷移

存儲層提供超低時延數據訪問

在計算層,GeminiDB 基於基於開源版本改造,100% 兼容原生接口。存儲引擎基於 RocksDB(LSM Tree 結構),支持結合業務特徵深度定製調參。設置用戶態文件系統,可以高效訪問存儲。實現 RocksDB 深度定製,秒級分裂彈性擴容,文件系統快照備份恢復,以及基於 WAL 的高效跨 Region 同步(Ongoing)等。

在存儲層,GeminiDB 基於華為分布式存儲技術,大規模存儲資源池,優化面向 Append-Only 數據操作,同時支持 AZ 內 / 跨 AZ 多副本強一致。可以實現對基於裸金屬伺服器硬體的專屬存儲池的高效訪問。既支持超低時延訪問(100us),又支持介質多樣化( NVMe,In-Memory)。

GeminiDB 的應用場景

遊戲:兼容文檔數據庫協議,遊戲應用可以將一些用戶信息,如用戶裝備、用戶積分等存儲其中。遊戲玩家活躍高峰期,對並發能力要求較高,集群可以應對高並發場景。其優勢在於支持內嵌文檔以應對數據峰值壓力 。

IoT:多模 NoSQL 服務 GeminiDB 兼容 Cassandra 接口,擁有超強寫入性能,專為密集寫入而設計。它適用於各種不同的行業,例如製造業、物流業、醫療保健業、房地產業、能源生產業、農業等。無論傳感器類型如何,都可以很好地處理傳入數據,並為進一步的數據分析提供了可能。其優勢在於超強的寫入性能和彈性擴展能力。

互聯網:多模 NoSQL 服務的快速讀寫和高可擴展特性使其適用於具有產品目錄、推薦、個性化引擎等功能的電子商務網站和娛樂網站,可用於存儲訪問者的活動,有利於分析工具快速訪問數據,為用戶生成推薦。其優勢在於超強的寫入性能和大數據分析。

金融:多模 NoSQL 服務 GeminiDB 結合 Spark 等大數據分析工具,可應用於金融行業的風控體系,構建反欺詐系統。其優勢在於可結合 Spark 等工具進行實時的反欺詐檢測。

除此以外,GeminiDB 的特性也非常適用於工業製造、天氣等多個場景場景。

3

ModelArts 帶你體驗 0 代碼構建 AI 模型

深度學習引發了新一輪的 AI 浪潮,也逐漸成為各大互聯網巨頭加速擴張生態的重要能力之一。但對於很多企業來說,AI 的引入門檻太高,包括昂貴的算力、人才的高要求、數據的高質量等。就國內市場來看,已有不少企業布局機器學習雲平台並對外提供服務,幫助小型團隊快速將機器學習用於實際業務中。

ModelArts 是華為全棧全場景 的一站式 AI 開發平台,其最初是從華為內部衍生出來的一個產品。因為華為內有很多算法工程師、AI 開發工程者,也經常被繁多的 AI 工具安裝配置、數據準備、模型訓練慢等問題困擾,於是,他們將這些問題的解決方案積累下來,最後做成了 ModelArts 這個平台。華為雲 EI 布道師、華為開源中心算法專家王龍步老師在現場帶領大家動手體驗了這一過程。

ModelArts 提供海量數據預處理及半自動化標注、大規模分布式訓練、自動化模型生成,及端 - 邊 - 雲模型按需部署能力,幫助用戶快速創建和部署模型,管理全周期 AI 工作流。

在數據處理方面,ModelArts 已支持 7 種類型的數據集標注,包括圖像分類、物體監測、聲音分類、語音內容、語音分割、文本分類、命名實體等,並支持點、直線、虛線、折現、圓、矩形框、多邊形等多種標簽工具。

ModelArts 支持各種 AI 場景,如計算機視覺、自然語言處理、音視頻場景等;支持圖片、文本、語音、視頻多種標注任務,如圖片分類、對象檢測、圖片分割、語音分割、文本分類等場景的數據標注任務;同時支持面向自動駕駛、醫療影像、遙感影像等領域標注的數據處理和預標注。

此外,ModelArts 已實現智能標注:使標注效率提升 70%,基於主動學習和預置模型,系統邊標邊學,越標越準;使標注質量有保障,用戶可自建團隊,靈活控制標注任務分發和質檢策略;可以靈活進行數據管理,支持增量式導入、訓練集導出、多版本管理、難例管理等。

在模型訓練方面,ModelArts 支持零編碼自動學習。同時基於開源或行業數據集配以 30+ 預置模型,可達到一鍵訓練。

在模型部署方面,ModelArts 已實現 AI 模型的自動部署上線,支持各種部署場景的一鍵部署,並進行在線推理、批量推理、邊緣推理和端側推理。在線推理可以實現高並發,低延時,彈性伸縮,並且支持多模型灰度發布、A/B 測試;批量推理可以處理大量數據,實現高效分布式計算;邊緣推理可與 IEF(智能邊緣平台)深度整合,並基於華為自研 Ascend 芯片進行高效推理;端側推理則可做到端雲協同、一鍵部署,同時也基於 Ascend 芯片進行高效推理。支持各種部署場景,既能部署為雲端的在線推理服務和批量推理任務,也能部署到端,邊等各種設備。

在 AI 市場方面,ModelArts 的 AI 市場提供了常用數據集,列舉了其他用戶共享的模型、API,開發者可以使用他人分享的信息快速構建模型。同時也可以將自己的 API 或模型發布至 AI 市場,共享知識。

4

基於華為智能 IoT 平台,快速構建行業應用

物聯網 (IoT)是數字化轉型的下一階段。根據華為 GIV(全球產業願景)報告預測,2025 年全球聯接的設備數將達 1000 億, 5G、雲、IoT、AI 的融合應用正在塑造一個萬物感知、萬物互聯、萬物智能的世界。

對於企業來說,IoT 平台不僅僅是把物聯網設備和軟體模塊緊密的結合在一起,更重要的是增加了平台參與者之間的關聯,也加強了流程、工具、數據方面的管理。除了部署成本外,企業要獲取“物聯接”的紅利,需要解決數字感知、聯接和商業價值閉環的問題。

華為 IoT 生態服務產品經理謝衝提到,面對物聯網挑戰,從架構取向的趨勢可以看到,現在整個物聯網基本上呈現一個“煙囪式”,轉變架構的替代,逐漸會向聚合式的架構去發展。聚合是整個行業發展的一個必然趨勢,聚合才可以通過平台來統一物的語言,讓物更有價值。

作為 ICT 與 IoT 領域的核心推動者,華為致力於解決產業物聯網的共性難題。在技術層面,華為雲 OceanConnect IoT 雲服務匯聚華為的關鍵技術積累,聚焦”Access + Insight + Action“使能行業服務,解決設備協同管理、數據分析成本高、行業差異性大等問題。在垂直領域方面,華為深耕重點行業,與車聯網、智慧交通、智慧物流、智慧城市、智慧工業的龍頭企業聯手,從技術、政策、生態等多個維度深度融合,共同應對行業轉型挑戰,合理推動產業物聯網發展。

5

微服務架構中的一致性實踐

在開發或軟體架構的過程中,經常會遇到一致性的問題。尤其是在微服務架構下,每個微服務都有自己的數據庫,導致微服務架構的系統不能簡單地滿足 ACID,我們就需要尋找微服務架構下的數據一致性解決方案。

傳統情況下,當一個事務要跨越多個分布式服務時,開發者想到的第一個方案就是兩階段提交——2PC。在這個過程中,事務協調者(事務管理器)給每個參與者(資源管理器)發送 Prepare 消息,如果參與者有可用資源,對數據加鎖,如果所有參與者都返回成功,就執行第二階段,否則,執行回滾操作。

由於數據庫通常比業務服務更難擴容,而兩階段提交需要依賴於數據庫實現,並且對數據加鎖,所以性能較低,應用並不是十分廣泛。

那麽,如何保證微服務架構中的數據一致性?華為雲 PaaS 團隊架構師王啟軍老師提到了幾個方面:

1、可靠事件通知模式

該模式下,一種通知模式是同步事件,即主服務完成後將結果通過事件(以消息隊列為主)傳遞給服務,進而完成業務流程,達到主服務與服務間的消息一致性。另一種是異步事件,即業務服務和事件服務解耦,需要將提交失敗的事件進行重試,目前業界多數採用本地消息表 +MQ 的方式來進行重試,但也因此對數據庫產生壓力。

2、使用 Saga 保證微服務的最終一致性

Saga 將一個跨服務的事務拆分成多個事務,每個子事務都需要定義一個對應的補償操作。通過異步的模式來完成整個 Saga 流程。具體操作是將項目創建流程拆分成多個 Saga,並為 Saga 分配一個事務管理器。當服務啟動時,會講服務中所有的 SagaTask 注冊到管理器中。在業務執行時,執行狀態可以通過事務管理器進行查看。

3、TCC/Try Confirm Cancel 模式

在 TCC 模式下,當一個服務提交失敗時,可以做到完全補償,且在補償後不留下補償記錄。這樣可以在業務層處理時,平衡數據庫的壓力。但其代價也在於增加了業務的複雜度,需要提供相應的 Try、Confirm、Cancel 接口等。

4、華為雲分布式事務服務—DTM

DTM 是華為雲分布式事務管理中間件,它的具體步驟是,先由實物發起者向 DTM 集群申請注冊一個全局事務的 ID,並透傳到所調用的事務參與者中,事務參與者利用餓到的 ID 向 DTM 集群注冊申請一個分事務 ID,在事務參與者完成資深業務邏輯後,將結果上傳至 DTM 集群,並示意分支事務結束,在後續完成 TCC 二階段後,DTM 集群通稿事務發起者全局事務結束。具體流程如下圖所示:

最後,王啟軍老師總結:不是所有的地方對一致性要求都這麽高,要根據自己的業務需求來選擇一致性的模型。一致性沒有絕對的,更嚴格的一致性只是降低概率而已,更高的一致性需要更高的成本,需要企業綜合考慮。

本次 「DevRun·選擇不凡」華為雲開發者沙龍走進北京,將華為雲核心的研發成果和能力開放共享給現場開發者,實現技術布道。華為雲願與開發者一同成長,碰撞出新的火花。

6

最新預告

獲得更多的PTT最新消息
按讚加入粉絲團