日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

华为十年架构师实战经验总结:大规模分布式系统架构与设计实战

發(fā)布時(shí)間:2023/12/2 windows 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 华为十年架构师实战经验总结:大规模分布式系统架构与设计实战 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

本篇是從程序員到首席架構(gòu)師十多年職業(yè)生涯的實(shí)戰(zhàn)經(jīng)驗(yàn)總結(jié),系統(tǒng)講解構(gòu)建大規(guī)模分布式系統(tǒng)的核心技術(shù)與實(shí)現(xiàn)方法,包含開源的Fourinone系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過程,手把手教你掌握分布式技術(shù)。

通過學(xué)習(xí)這個(gè)系統(tǒng)的實(shí)現(xiàn)方法與相關(guān)的理論,讀者可快速掌握分布式系統(tǒng)的理論并設(shè)計(jì)自己的分布式系統(tǒng)。

本篇從分布式計(jì)算的基本概念開始,解剖了眾多流行概念的本質(zhì),深入講解分布式系統(tǒng)的基本原理與實(shí)現(xiàn)方式,包括masterslave結(jié)構(gòu)、消息中樞模式、網(wǎng)狀直接交互模式、并行結(jié)合串行模式等,以及Fourinone系統(tǒng)的架構(gòu)、實(shí)現(xiàn)分布式功能的示例。接下來詳細(xì)介紹分布式協(xié)調(diào)、分布式緩存、消息隊(duì)列,分布式文件系統(tǒng)、分布式作業(yè)調(diào)度平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)方法,不僅包括詳細(xì)的架構(gòu)原理、算法,還給出了實(shí)現(xiàn)步驟、核心API、實(shí)現(xiàn)代碼。

在大數(shù)據(jù)、云計(jì)算如火如荼的今天,各類技術(shù)產(chǎn)品順應(yīng)潮流層出不窮。大家是不是有這種感覺: Hadoop還沒學(xué)完,Storm 就來了; Storm剛學(xué)會(huì)安裝配置, Spark、 Hama、Yarn 等又一起出現(xiàn)了;同時(shí)國(guó)內(nèi)外各大云平臺(tái)廠商,如Google、亞馬遜、阿里云等,還在推各自應(yīng)用開發(fā)平....要學(xué)習(xí)的東西太多了,就是這樣疲于奔命地學(xué),剛學(xué)會(huì)了某個(gè)產(chǎn)品的安裝配置與開發(fā)步驟,沒多久它又過時(shí)了。

這么多千姿百態(tài)的分布式技術(shù)和產(chǎn)品背后有沒有某些共性的東西呢?能讓我們]換了馬甲還能認(rèn)出它,讓我們超越學(xué)習(xí)每個(gè)產(chǎn)品的“安裝配置開發(fā)”而掌握背后的精髓呢?有沒有可能學(xué)一反三,學(xué)一招應(yīng)萬(wàn)招,牢牢掌握好技術(shù)的船舵,穿越一次次顛覆性的技術(shù)浪潮?
本篇的目的就是為你揭示分布式技術(shù)的核心內(nèi)幕,透徹理解其精髓,站在浪潮之巔。

因此,這不是講如何使用Hadoop,而是講如何實(shí)現(xiàn)Hadoop的功能,講如何簡(jiǎn)化實(shí)現(xiàn)分布式技術(shù)核心功能。這是來源于作者十多年來在私企、港企、外包、創(chuàng)業(yè)、淘寶、華為等企業(yè)打拼,從底層程序員一路走到首席架構(gòu)師的實(shí)戰(zhàn)經(jīng)驗(yàn)總結(jié)。。

本篇面向千千萬(wàn)萬(wàn)戰(zhàn)斗在一線攻城拔寨的程序員、工程師們,你可以有很多基礎(chǔ),也可以從頭開始,本篇盡量做到深人淺出和通俗易懂,希望幫助你降低分布式技術(shù)的學(xué)習(xí)成本,幫助你更容易完成工作任務(wù),更輕松地掙錢。

因?yàn)閮?nèi)容實(shí)在是太多了,所以小編只把部分知識(shí)點(diǎn)截圖出來粗略的介紹了一下,每個(gè)小節(jié)都有更多細(xì)化的內(nèi)容,希望大家能夠?qū)W到知識(shí)。

本篇一共分為七個(gè)大章節(jié),大家從頭開始閱讀就可以了。

第1章,概述

在概述分布式核心技術(shù)之前,我們有必要先概括闡述一-下分布式計(jì)算、并行計(jì)算、云計(jì)算等相關(guān)概念,以及市場(chǎng)上流行的相關(guān)技術(shù)產(chǎn)品,如Hadoop生態(tài)體系,然后再結(jié)合背景引出我們?yōu)槭裁匆獨(dú)w納出一個(gè)輕量級(jí)的分布式框架。本章為后續(xù)章節(jié)的背景。本章意在使讀者對(duì)分布式技術(shù)話題的前因后果先有所了解。

由于只是概述,我們對(duì)涉及的分布式計(jì)算概念和Hadoop生態(tài)體系只是蜻蜓點(diǎn)水地帶過,目的僅是讓讀者了解到這些內(nèi)容大致是什么。

第2章,分布式并行計(jì)算的原理與實(shí)踐

本章首先講述分布式并行計(jì)算的各種設(shè)計(jì)模式和原理機(jī)制,并進(jìn)一步說明Fourinone與市場(chǎng)上其他并行計(jì)算產(chǎn)品和技術(shù)的區(qū)別,最后手把手演示大量并行計(jì)算案例。

本章講述的分布式并行計(jì)算思想、模式、技巧、實(shí)現(xiàn),與編程語(yǔ)言無關(guān),讀者可以用多臺(tái)計(jì)算機(jī)來嘗試編程。

第3章,分布式協(xié)調(diào)的實(shí)現(xiàn)

分布式協(xié)調(diào)是分布式應(yīng)用中不可缺少的,通常會(huì)設(shè)立專門的協(xié)調(diào)者角色,即將多機(jī)協(xié)調(diào)的職責(zé)從分布式應(yīng)用中獨(dú)立出來,以減少系統(tǒng)的耦合性和增強(qiáng)可擴(kuò)展性。Apache的ZooKeeper、Google的Chubby都是分布式協(xié)調(diào)的實(shí)現(xiàn)者。Fourinone實(shí)際上可以單獨(dú)當(dāng)做ZooKeeper用,它使用最少的代碼實(shí)現(xiàn)了ZooKeeper 的所有功能,并且力圖做到功能更強(qiáng)、使用更簡(jiǎn)潔。

本章會(huì)從設(shè)計(jì)角度講述分布式協(xié)調(diào)系統(tǒng)的實(shí)現(xiàn)原理,包括歸納出的API介紹,權(quán)限機(jī)制介紹,并詳細(xì)闡述了在領(lǐng)導(dǎo)者選舉機(jī)制上和Paxos算法的區(qū)別,最后再結(jié)合實(shí)踐中的統(tǒng)一配置和集群管理等應(yīng)用講解demo,讓讀者有更直觀的體會(huì)。

第4章,分布式緩存的實(shí)現(xiàn)

本章講述小型緩存、大型分布式緩存的原理和實(shí)現(xiàn)機(jī)制,并且講述經(jīng)典的一致哈希算法原理,以及改進(jìn)的基于日期key取模和分組算法去做集群負(fù)載均衡和擴(kuò)容,最后講述一個(gè)分布式Session的實(shí)現(xiàn)案例,以及相關(guān)的配置屬性。

第5章,消息隊(duì)列的實(shí)現(xiàn)

本章講述了中間件和消息隊(duì)列(MQ)的發(fā)展史JMS規(guī)范定義的發(fā)送/接收、主題訂閱兩種經(jīng)典消息服務(wù)模式的機(jī)制原理,并詳細(xì)舉例說明如何在Fourinone中實(shí)現(xiàn)這兩種經(jīng)典模式。

第6章,分布式文件系統(tǒng)的實(shí)現(xiàn)

本章講述如何使用FTTP去實(shí)現(xiàn)一個(gè)分布式文件系統(tǒng),包括FTTP的架構(gòu)原理和遠(yuǎn)程文件各種方式的訪問和操作,以及整型數(shù)據(jù)處理等,包含了每一一步的具體操作,可幫助入門的讀者快速上手。

在FTTP中通過FttpAdapter和FileAdapter實(shí)現(xiàn)文件I0的支持。其中,FttpAdapter 提供對(duì)遠(yuǎn)程文件的操作,FileAdapter 提供對(duì)本地文件的操作,兩者的API和使用相似,這里主要說明FttpAdapter。

第7章,分布式作業(yè)調(diào)度平臺(tái)的實(shí)現(xiàn)

在前面第2章介紹的分布式并行計(jì)算原理中,我們看到可以將工頭工人程序部署到不同的機(jī)器_上運(yùn)行,然后完成計(jì)算。但是,.當(dāng)這樣的并行計(jì)算應(yīng)用非常多,而我們的機(jī)器數(shù)量有限時(shí),我們需要排隊(duì)依次來使用機(jī)器,第一個(gè)并行計(jì)算應(yīng)用跑完了,再跑第二個(gè)應(yīng)用,如果第一個(gè)并行計(jì)算應(yīng)用只占部分機(jī)器,那么可以考慮同時(shí)跑第二個(gè)應(yīng)用....這就涉及建立-個(gè)作業(yè)調(diào)度平臺(tái)去完成。

我們知道Hadoop本身包含了作業(yè)調(diào)度的部分,按照Hadoop開發(fā)規(guī)范,開發(fā)好一個(gè)作業(yè),打包后,Hadoop 會(huì)分發(fā)到相應(yīng)的機(jī)器上去運(yùn)行,但是實(shí)際上這僅僅是-種任務(wù)調(diào)度層面的實(shí)現(xiàn),我們還需要資源層面的調(diào)度,比如對(duì)CPU、內(nèi)存、帶寬等的分配和管理。

本章會(huì)講述調(diào)度平臺(tái)的設(shè)計(jì)和實(shí)現(xiàn),包括任務(wù)調(diào)度和資源調(diào)度的實(shí)現(xiàn)機(jī)制,各種資源調(diào)度算法,并以MPI調(diào)度器的為例講述一個(gè)完整Demo,最后再講述市場(chǎng)上常用的調(diào)度實(shí)現(xiàn)和框架,比如Torque、Mesos、Yarn 等。

由于篇幅限制,小編在這里就不做過多的介紹了,有需要本【大規(guī)模分布式系統(tǒng)架構(gòu)與設(shè)計(jì)實(shí)戰(zhàn)】技術(shù)文檔的小伙伴,就可以轉(zhuǎn)發(fā)關(guān)注一下小編,私信小編“學(xué)習(xí)”來得到獲取方式吧!感謝大家的配合和信任。

現(xiàn)在的架構(gòu)很多,各種各樣的,如高并發(fā)架構(gòu)、異地多活架構(gòu)、容器化架構(gòu)、微服務(wù)架構(gòu)、高可用架構(gòu)、彈性化架構(gòu)等,還有和這些架構(gòu)相關(guān)的管理型的技術(shù)方法,如 DevOps、應(yīng)用監(jiān)控、自動(dòng)化運(yùn)維、SOA 服務(wù)治理、去 IOE 等等,還有很多。

那什么是分布式系統(tǒng)?分布式系統(tǒng)是支持分布式處理的軟件系統(tǒng),是由通信網(wǎng)絡(luò)互聯(lián)的多處理機(jī)體系結(jié)構(gòu)上執(zhí)行任務(wù)的系統(tǒng)。包括分布式操作系統(tǒng)、分布式程序設(shè)計(jì)語(yǔ)言及其編譯系統(tǒng)、分布式文件系統(tǒng)分布式數(shù)據(jù)庫(kù)系統(tǒng)等,當(dāng)然這些也是分布式的關(guān)鍵技術(shù)。

使用分布式系統(tǒng)主要有:

1.增大系統(tǒng)容量。我們的業(yè)務(wù)量越來越大,而要能應(yīng)對(duì)越來越大的業(yè)務(wù)量,一臺(tái)機(jī)器的性能已經(jīng)無法滿足了,我們需要多臺(tái)機(jī)器才能應(yīng)對(duì)大規(guī)模的應(yīng)用場(chǎng)景。所以,我們需要垂直或是水平拆分業(yè)務(wù)系統(tǒng),讓其變成一個(gè)分布式的架構(gòu)。

2.加強(qiáng)系統(tǒng)可用。我們的業(yè)務(wù)越來越關(guān)鍵,需要提高整個(gè)系統(tǒng)架構(gòu)的可用性,這就意味著架構(gòu)中不能存在單點(diǎn)故障。這樣,整個(gè)系統(tǒng)不會(huì)因?yàn)橐慌_(tái)機(jī)器出故障而導(dǎo)致整體不可用。所以,需要通過分布式架構(gòu)來冗余系統(tǒng)以消除單點(diǎn)故障,從而提高系統(tǒng)的可用性。

3.因?yàn)槟K化,所以系統(tǒng)模塊重用度更高

4.因?yàn)檐浖?wù)模塊被拆分,開發(fā)和發(fā)布速度可以并行而變得更快

5.系統(tǒng)擴(kuò)展性更高

6.團(tuán)隊(duì)協(xié)作流程也會(huì)得到改善

分布式系統(tǒng)的類型有三種:

1.分布式處理,但只有一個(gè)總數(shù)據(jù)庫(kù),沒有局部數(shù)據(jù)庫(kù)

2.分層式處理,每一層都有自己的數(shù)據(jù)庫(kù)

3.充分分散的分布式網(wǎng)絡(luò),沒有中央控制部分,各節(jié)點(diǎn)之間的聯(lián)系方式又可以有多種,如松散的聯(lián)接,緊密的聯(lián)接,動(dòng)態(tài)的聯(lián)接,廣播通知式的聯(lián)接等

然后來對(duì)比一下單體應(yīng)用和分布式架構(gòu)的優(yōu)缺點(diǎn):

1.從上面的表格可以看到,分布式系統(tǒng)雖然有一些優(yōu)勢(shì),但也存在一些問題

2.架構(gòu)設(shè)計(jì)變得復(fù)雜(尤其是其中的分布式事務(wù))

3.部署單個(gè)服務(wù)會(huì)比較快,但是如果一次部署需要多個(gè)服務(wù),部署會(huì)變得復(fù)雜

4.系統(tǒng)的吞吐量會(huì)變大,但是響應(yīng)時(shí)間會(huì)變長(zhǎng)

5.運(yùn)維復(fù)雜度會(huì)因?yàn)榉?wù)變多而變得很復(fù)雜

6.架構(gòu)復(fù)雜導(dǎo)致學(xué)習(xí)曲線變大

7.測(cè)試和查錯(cuò)的復(fù)雜度增大

8.技術(shù)可以很多樣,這會(huì)帶來維護(hù)和運(yùn)維的復(fù)雜度

9.管理分布式系統(tǒng)中的服務(wù)和調(diào)度變得困難和復(fù)雜

所以總結(jié)一下,分布式系統(tǒng)架構(gòu)的難點(diǎn)在于系統(tǒng)設(shè)計(jì),以及管理和運(yùn)維。所以分布式系統(tǒng)架構(gòu)在解決了一些問題的同時(shí),也增加了其他的問題,這就需要不斷的再用各種各樣的技術(shù)跟手段去解決這些新增的問題。

總結(jié)

以上是生活随笔為你收集整理的华为十年架构师实战经验总结:大规模分布式系统架构与设计实战的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。