<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      帶著問題學(xué)習(xí)分布式系統(tǒng)

        很長一段時間,對分布式系統(tǒng)都比較感興趣,也聽說過、了解過其中一些相關(guān)的知識點,但都比較零碎。一直想系統(tǒng)的學(xué)習(xí)一下,但是一拖再拖,寫下本文,也是希望能督促自己。

       

      寫在前面

        聽過很多道理,卻依然過不好這一生。

        看過很多關(guān)于學(xué)習(xí)的技巧、方法,卻沒應(yīng)用到自己的學(xué)習(xí)中。

        隨著年紀(jì)變大,記憶力越來越差,整塊的時間也越來越少,于是,越來越希望能夠更高效的學(xué)習(xí)。學(xué)習(xí)是一種習(xí)慣也是一種能力,這種能力在上學(xué)期間養(yǎng)成是最好的,畢竟那個時候絕大部分時間都在學(xué)習(xí)。但很遺憾,我沒有養(yǎng)成適合自己的、好的學(xué)習(xí)習(xí)慣。工作之后,除了在日常工作中用到的知識技術(shù),很難通過自學(xué)掌握新的知識(偏向于專業(yè)知識,即技術(shù))。而互聯(lián)網(wǎng)行業(yè)的分支、知識點又是如此之多,于是會出現(xiàn)這樣的情況,遇到一個新的知識,覺得很厲害很感興趣,看兩天,但很快就忘記了。另外,對于一些比較龐雜的技術(shù),又無從下手,也很難堅持下去。

        根本的問題在于學(xué)習(xí)不系統(tǒng),沒有把一個個的知識點連接起來,本來這些新的知識就很少在工作中實踐,如果又是一個個的信息孤島,很快就會被遺忘。另一個問題,沒有良好的規(guī)劃,今天看看這里,明天看看哪里,糾結(jié)于細(xì)枝末節(jié),忘了從整體上把握。

        幸好,差不多半年前開始意識到了這個問題,開始看書,看別人的博客,開始思考如何充分利用好有限的時間。自己也實踐了一些想法,比如寫博客,堅持寫博客。也有很多沒做好,比如如何學(xué)習(xí)掌握一門新技術(shù)。關(guān)于這一點,其實看了許多文章,也有很多印象深刻,覺得很有道理;也有一些好書,比如《study more,learn less》。紙上得來終覺淺,絕知此事要躬行,別人的辦法再好也需要親身實踐才知道是否對自己適用。

        需要學(xué)習(xí)的技術(shù)很多,要自學(xué)新知識也不是一件容易的事,選擇一個自己比較感興趣的會是一個比較好的開端,于是,打算學(xué)一學(xué)分布式系統(tǒng)。

        帶著問題,有目的的學(xué)習(xí),先了解整體架構(gòu),在深入感興趣的細(xì)節(jié),這是我的計劃。

        首先得有問題,如果每日重復(fù)相同的工作,也不主動去學(xué)習(xí),很難發(fā)現(xiàn)新的問題。不怕自己無知,就怕不知道自己無知,只有不斷的學(xué)習(xí),才會發(fā)現(xiàn)更多未知的知識領(lǐng)域!

      帶著問題出發(fā)

        分布式要解決什么問題呢?解決持久化數(shù)據(jù)太大,單個節(jié)點的硬盤無法存儲的問題;解決運算量太大,單個節(jié)點的內(nèi)存、CPU無法處理的問題。解決這些問題,有兩種思路:scale up,scale out。前者就是提升單個節(jié)點的能力,更大的磁盤,更快的CPU,定制的軟硬件,然而這意味著更高的價格,而且再怎么scaleup 也是有上限的。后者就是把存儲、計算任務(wù)分擔(dān)到普通的機(jī)器上,通過動態(tài)增加節(jié)點來應(yīng)對數(shù)據(jù)量的增長,但缺點是多個節(jié)點的管理、任務(wù)的調(diào)度比較麻煩,這也是分布式系統(tǒng)研究和解決的問題。只有當(dāng)數(shù)據(jù)量達(dá)到單機(jī)無法存儲、處理的情況下才考慮分布式,不然都是自找麻煩。

        狀態(tài)的維護(hù)比計算要難很多,所謂狀態(tài)就是需要持久化的數(shù)據(jù)。因此主要考慮分布式存儲,況且即使是分布式計算,為了節(jié)省帶寬需要盡量保證data locality,也是需要分布式存儲。
       
        現(xiàn)在有一堆數(shù)據(jù),可能是結(jié)構(gòu)化或者半結(jié)構(gòu)化,需要將數(shù)據(jù)分片(segment、fragment、shard),形成一個個的數(shù)據(jù)子集,存儲到一組物理節(jié)點上,物理節(jié)點之間通過網(wǎng)絡(luò)通信。那么需要考慮兩個問題:
        第一:數(shù)據(jù)如何劃分; 
        第二:數(shù)據(jù)的可靠性、可用性問題

        

       

      數(shù)據(jù)分片

        數(shù)據(jù)分片是指將數(shù)據(jù)子集盡可能均衡的劃分到各個物理節(jié)點上。那么會有哪些挑戰(zhàn)呢?

        (1)如果某個物理節(jié)點宕機(jī),如何將該物理節(jié)點負(fù)責(zé)的數(shù)據(jù)盡快的轉(zhuǎn)移到其他物理節(jié)點;

       ?。?)如果新增了物理節(jié)點,怎么從其他節(jié)點遷移數(shù)據(jù)到新節(jié)點;

       ?。?)對于可修改的數(shù)據(jù)(即不是只能追加的數(shù)據(jù)),比如數(shù)據(jù)庫數(shù)據(jù),如果某節(jié)點數(shù)據(jù)量變大,怎么將部分?jǐn)?shù)據(jù)遷移到其他負(fù)載較小的節(jié)點,及達(dá)到動態(tài)均衡的效果。

       ?。?)元數(shù)據(jù)的管理問題:當(dāng)數(shù)據(jù)分布在各個節(jié)點,那么當(dāng)用戶使用的時候需要知道具體的數(shù)據(jù)在哪一個節(jié)點上。因此,系統(tǒng)需要維護(hù)數(shù)據(jù)的元數(shù)據(jù):即每一個數(shù)據(jù)所在的位置、狀態(tài)等信息。當(dāng)用戶需要具體的數(shù)據(jù)時,先查詢元數(shù)據(jù),然后再去具體的節(jié)點上查詢。當(dāng)數(shù)據(jù)在節(jié)點之間遷移的時候,也需要更新元數(shù)據(jù)。元數(shù)據(jù)的管理節(jié)點這里稱之為meta server。元數(shù)據(jù)的管理也帶來了新的挑戰(zhàn):
          (4.1)如何抽取數(shù)據(jù)的特征(特征是分片的依據(jù),也是用戶查詢數(shù)據(jù)時的key),或者支持用戶自定義數(shù)據(jù)特征;

          (4.2)如何保證meta server的高性能和高可用,是單點還是復(fù)制集

        (5)分片的粒度,即數(shù)據(jù)子集的大小,也是數(shù)據(jù)遷移的基本單位。粒度過粗,不利于數(shù)據(jù)均衡;粒度過細(xì),管理、遷移成本又會比較大。

       

        自問自答(2017 06 28):

        帶著問題學(xué)習(xí)分布式系統(tǒng)之?dāng)?shù)據(jù)分片 

      數(shù)據(jù)冗余

        前面提到,分布式系統(tǒng)中的節(jié)點都是普通的節(jié)點,因此有一定的概率會出現(xiàn)物理故障,比如斷電、網(wǎng)絡(luò)不可用,這些故障導(dǎo)致數(shù)據(jù)的暫時不可用;另外一些故障更嚴(yán)重,會導(dǎo)致數(shù)據(jù)的丟失,比如磁盤損壞。即使單個節(jié)點的故障是小概率,當(dāng)集群中的節(jié)點數(shù)目很多是,故障就成為了一個大概率事件。因此,保證數(shù)據(jù)的高可用和可靠性是分布式系統(tǒng)必須解決的問題。

        為了避免單點故障,可行的辦法就是數(shù)據(jù)冗余(復(fù)制集),即將同一份數(shù)據(jù)放在不同的物理節(jié)點,甚至是不同的數(shù)據(jù)中心。如果數(shù)據(jù)是一次寫,多次讀那很好辦,隨便從哪個副本讀取都行。但對于很多分布式存儲系統(tǒng),比如數(shù)據(jù)庫,數(shù)據(jù)是持續(xù)變化的,有讀有寫。那么復(fù)制集會帶來什么樣的挑戰(zhàn)呢,需要如何權(quán)衡呢,假設(shè)有三個副本:

       ?。?)三個副本的地位,大家都是平等的還是有主(primary、master)有次(secondary、slave),如果是平等的,那么每個節(jié)點都可以接收寫操作;如果不平等,可以一個節(jié)點負(fù)責(zé)所有的寫操作,所有節(jié)點都提供讀操作,

        (2)在平等的情況下,怎么保證寫入操作不沖突,保證各個節(jié)點的數(shù)據(jù)是一致的,怎么保證能讀取到最新的數(shù)據(jù)

       ?。?)不平等的情況下
          (3.1)寫節(jié)點怎么將變更的數(shù)據(jù)同步到其他節(jié)點,同步還是異步;
          (3.2)非寫節(jié)點能否提供讀數(shù)據(jù),如果能夠允許,會不會讀取到過時的數(shù)據(jù)。
         ?。?.3)主節(jié)點是怎么產(chǎn)生的,當(dāng)主節(jié)點宕機(jī)的時候,怎么選擇出新的主節(jié)點。是有統(tǒng)一的復(fù)制集管理中心(記錄誰主誰次,各自的狀態(tài)),還是復(fù)制集自己選舉出一個主節(jié)點?

        (4)不管復(fù)制集內(nèi)部的節(jié)點是平等的,還是有集中式節(jié)點的,只要有多個數(shù)據(jù)副本,就需要考慮數(shù)據(jù)的一致性可用性問題。按照CAP理論,只能同時滿足一致性 可用性 分區(qū)容錯性之間的二者,不同的分布式系統(tǒng)需要權(quán)衡。

         自問自答(2017 08 30)

      其他

        分布式系統(tǒng)有自己的術(shù)語或者概念。在當(dāng)前的這個時間點,我對其中的一些有了解,或者使用過;另外一些只是聽說過,不甚了解;當(dāng)然,還有更多的是不知道的,是需要在后續(xù)的學(xué)習(xí)中去發(fā)現(xiàn)、去掌握的。
        分片 副本 一致性哈希 冪等 CAP paxos raft NWR lease 兩階段提交協(xié)議 三階段提交協(xié)議 拜占庭問題

        目前收集到的學(xué)習(xí)資料如下:

        劉杰的《分布式系統(tǒng)原理介紹》

        Distributed systems for fun and profit  

        CMU課程:http://www.cs.cmu.edu/~dga/15-440/S14/syllabus.html

        MIT課程:http://nil.csail.mit.edu/6.824/2016/schedule.html

        前面兩個是基礎(chǔ)整體介紹,最后一個是MIT的課程,網(wǎng)上評價很高,也有很多人在學(xué)習(xí)。

      總結(jié):

        對于一門新技術(shù),不要上來就開干,思考新技術(shù)解決了什么問題、已有的技術(shù)能否替代、適用場景與缺陷。對于自己(程序員),想想為什么要學(xué)、是深度還是廣度知識、該技術(shù)在自己的技能樹中的位置。

        對于學(xué)習(xí),需要長期目標(biāo)與短期目標(biāo)相結(jié)合。長期目標(biāo)很重要,但需要分解成一個個小目標(biāo),否則很容易在停頓、重拾之間打轉(zhuǎn),也很容易分心到其他雜事,也就堅持不下去了。
       
       
       
      posted @ 2017-06-05 08:58  xybaby  閱讀(20099)  評論(16)    收藏  舉報
      主站蜘蛛池模板: 国产无遮挡又黄又爽不要vip软件| 中文字幕人妻无码一夲道| 少妇久久久被弄到高潮| 色老头亚洲成人免费影院 | 国产精品无码无需播放器| 制服 丝袜 亚洲 中文 综合| 江口县| 无码日韩精品一区二区免费| 日韩在线观看 一区二区| 婷婷色综合成人成人网小说| 亚洲国产精品一区二区第一页| 久久综合伊人77777| 少妇大叫太大太爽受不了| 内射合集对白在线| 日韩有码中文在线观看| 国产熟妇久久777777| 国产精品亚洲综合色区丝瓜| 国产内射XXXXX在线| 亚洲成人av在线系列| 国产一区二区三区精品自拍 | 国产成人高清亚洲综合| 日本japanese丰满白浆| 无码伊人久久大杳蕉中文无码| 国产地址二永久伊甸园| 欧美粗大猛烈老熟妇| 亚洲综合无码明星蕉在线视频| 久久青草国产精品一区| 久久综合激情网| 男人天堂亚洲天堂女人天堂| 亚洲精品tv久久久久久久久久| 秋霞AV鲁丝片一区二区| 国产老头多毛Gay老年男| 国产午夜亚洲精品国产成人| 亚洲精品乱码久久久久久不卡| 精品亚洲一区二区三区在线观看| 麻豆国产成人AV在线播放| 激情综合网一区二区三区| 成人精品一区日本无码网| 国产精品嫩草99av在线| 无码av中文一区二区三区桃花岛| 亚洲精品一区二区妖精|