白話集群的編程思想

編程悟道—學習前人怎么解決問題(一)

從"搬石頭問題"引發(fā)的"集群搭建問題"

小記:很多的文章都是純理論和操作手冊毡证,我想通過寫一些類似小故事的文章啟發(fā)自己和大家養(yǎng)成一個程序員的思維毅弧,這樣讀起來會更容易一些。我覺得這是很重要的类茂,他能幫助我們快速理解很多框架的實現(xiàn)原理。千峰的李衛(wèi)民老師講過道德經(jīng)里的一句話“有道無術托嚣,術可求巩检;有術無道,止于術”示启,我的目標是和大家一同“修道論術”兢哭。

博客https://mrznan.github.io/blog/

??首先給咱一個明確的定位,咱的工作就是搬石頭夫嗓!工頭(客戶端)是你老大迟螺,讓你干啥就得干啥。

??工頭老大也沒事別的事難為你啤月,就是讓你去搬石頭(需求)煮仇,剛開始你一個人還可以,一塊大石頭也就100來斤谎仲,老骨頭還受得了浙垫。突然某一天,讓你搬個300斤的石頭郑诺,你沒日沒夜的搬石頭夹姥,練就了一身肌肉,終于也勉強給抬起來了辙诞。

??這就是所謂的垂直擴展辙售,也就是提升自身硬實力,能從搬一百斤的石頭飆升到三百斤飞涂,估計你的工資也翻了兩三倍了吧旦部!所以持續(xù)提升硬實力永遠是不會錯的祈搜,這是真理啊J堪恕(買牛逼服務器)容燕。

??更可惡的是,突然又一天婚度,你接到的命令是抬起一塊一噸重的石頭蘸秘,這下你可是犯了難了。

??俗話說蝗茁,人多力量大醋虏,你機智的選擇了找你的狐朋狗友們來幫忙,一起抬哮翘。(所謂水平擴展)

??當然請了朋友來颈嚼、打個電話、吃頓飯是免不了的了忍坷。思來想去粘舟,羅列步驟大致如下:

??1、想一想佩研,都有誰能夠幫我搬這塊石頭呢柑肴?于是拿小筆筆寫了個名單⊙恚或者發(fā)個朋友圈晰骑,說我需要幫忙搬石頭,愿意幫我的明天來“大同刀削面”集合绊序。(配置硕舆,可以是互相尋找,也可以是主動注冊

??2骤公、開始打電話抚官,“老張”,過來幫咱搬一下石頭唄=桌Α(老張心想凌节,這貨打電話準沒好事!)洒试,同時又給單子上的其他人都打了電話该窗。(首次進行了通信

??3缀拭、你約定好定在“大同刀削面”給大家吃頓好的(真是小氣),飯局中幕袱,你想到這搬石頭的時候可不能瞎搬删壮,萬一弄不好砸了腳可不太好预明。你大概看了看,說道:“老李啊,你是我們這群人里衣撬,年紀最大的,你搬過的石頭比我們吃過的鹽還多柴钻,到時候淮韭,你可得給大家組織組織啊”。(選了個主節(jié)點

??4贴届、吃了飯,鉚足了勁蜡吧,大家開始活動了毫蚓。工頭見狀:“哎呦,不錯歐昔善,懂得請后援了”元潘,“工頭大哥,一會我們搬得時候有啥問題君仆,您就和我們老李說翩概,他可是搬石頭能手啊返咱!”(對外只暴露一個入口)

??5钥庇、“老李啊,你組織大家把這塊巨石從咱們喜馬拉雅山低搬到山頂去哈咖摹!”评姨,“我靠,一碗刀削面萤晴,你讓我干了喜馬拉雅山頂...算了,搬吧吐句!真坑”。老李開始安排:"小王啊店读、你最年輕有勁嗦枢,你就在最下邊頂住啊 ...."。(資源分配)咱們下邊的人先上一個臺階屯断,上邊的人再上哈文虏,邁步子要整齊,可別亂了...(資源調度裹纳,任務調度)

??6择葡、不巧老李上到半山腰病倒了下山回家去吧,你急了剃氧,老李現(xiàn)在不在了敏储,我們怎么合作啊,再選一個指揮吧朋鞍!那了大家投票吧已添,當然不能選自己妥箕,于是大家開始投票,有一半以上的人選了老趙更舞,于是老趙有開始指揮大家去完成搬石頭大任畦幢。(災備

??大致基本的流程就是這樣,從單機到集群缆蝉。最大的難點莫過于怎么把集群做成一臺足夠強大且永不掛機的單機宇葱,無限強大意味著cpu要多少核有多少核,內存刊头,磁盤要多大有多大黍瞧,還有永遠不掛。我們同樣圍繞這句話去思考原杂,開始劃重點了:1印颤、一臺,2穿肄、足夠強大年局,3:永不掛機。

??1咸产、一臺機器意味著對外要一致

先秦時期矢否,很多有大權勢,大財富的人都喜歡招收門客锐朴,當有人向他詢問事情時兴喂,他們經(jīng)常會尋求門客建議,大家共同商榷焚志,那時的百家爭鳴可能也和這多少有些關系衣迷,對外卻僅僅只是你一個人而已。所謂“呂府”酱酬,大伙只知有呂不韋不知有其他耳壶谒。

??2、足夠強大意味著擴展要靈活

你家老爺再牛逼膳沽,個人能力再強大也是解決不了所有事情的汗菜,畢竟能當老爺?shù)亩际切┐笕宋铮虑槎急容^繁忙挑社。所以廣收天下門客才是硬道理陨界,收門客有很多鐘辦法,但最常用的有兩種:一是我知道諸葛亮是人才痛阻,所以我三顧茅廬菌瘪,另一種是打出“廣招門客”大旗,讓天下人知我,投奔我俏扩,我則擇優(yōu)錄用糜工。(集群的搭建)

??當然,這么多門客的管理會讓你有些又疼录淡。

??首先你要對這些門客統(tǒng)統(tǒng)進行備案捌木,統(tǒng)計一下他的年齡,興趣嫉戚,愛好刨裆,有啥特長,是否娶妻等等(元數(shù)據(jù))彬檀,當有新的門客得到批準(在你這注冊成功)加入這個團隊后崔拥,還要有人把以上信息再補充上(服務注冊與發(fā)現(xiàn))。你時不時還要請大家一起吃個飯凤覆、點個名,看看誰沒來拆魏,是請假了盯桦,還是出門發(fā)現(xiàn)自己生父是秦王直接撂挑子不干了(服務上下線)。

??門客再多也不能解決無限多的問題渤刃,所以像這種有身份的人拥峦,一般會有一個看門老大爺和兩三個門衛(wèi)。他們的工作就是一天杵在哪里卖子,看看誰來拜訪我家老爺略号,如果拜訪的太多了(并發(fā)太高),或者不合時宜(維護中)洋闽,或者不想見(攻擊者)玄柠,這老大爺就會說:“各位請回吧!老爺今天不見客了诫舅∮鹄”,你壓根連門也進不去刊懈!这弧,(熔斷,服務降級)虚汛。

??3匾浪、永不掛機意味著在你能承受的風險面前他永遠能用

??一幫劫匪綁架了老爺,意圖勒索錢財卷哩,這時就要選一個說了算的人出來主持大局蛋辈,人選大致會有兩種辦法,一殉疼、老爺早就定了主持大局之人梯浪,潘小蓮捌年。二、沒定的話就大家選舉一個吧挂洛。(master掛了怎么辦礼预,高可用)最好得有個主心骨,要不然虏劲,我該聽誰的托酸,想想都腦袋疼。(腦裂)

??老爺被綁架我覺得是一個家族能夠承受的風險柒巫,在這種情況下選一個主心骨励堡,這個家一樣能撐起來。什么是不能承受堡掏,比如你家老爺寫了首詩“不教胡馬度陰山”应结,皇帝一看,這胡馬是不是在說我泉唁,一氣之下誅九族鹅龄。(災備)

??這一切的目地就是,客戶端要知道訪問誰亭畜,服務端要一直知道我這有啥扮休,我能干啥(雞鳴狗盜隨便來)

??敲黑板了,

??總結一下重點要解決的問題拴鸵,1玷坠、這么多門客,怎么管理劲藐,2八堡、門客之間的關系,怎么維護瘩燥,3秕重、老爺或者門客出問題了該怎么辦

??翻譯過來也就是,這么多節(jié)點厉膀,怎么建立聯(lián)系形成集群溶耘,怎么管理節(jié)點分配任務和資源,怎么保持持續(xù)通信動態(tài)上下線服鹅,怎么保證持續(xù)可用實現(xiàn)永不掛機凳兵。看看大數(shù)據(jù)的hadoop企软,kafka庐扫,spark,包括現(xiàn)在的微服務等等都是在解決這些問題,這些問題得解決就使你在使用他們時就如同操作一臺強大的單機形庭。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末铅辞,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子萨醒,更是在濱河造成了極大的恐慌斟珊,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件富纸,死亡現(xiàn)場離奇詭異囤踩,居然都是意外死亡,警方通過查閱死者的電腦和手機晓褪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門堵漱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人涣仿,你說我怎么就攤上這事勤庐。” “怎么了好港?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵埃元,是天一觀的道長。 經(jīng)常有香客問我媚狰,道長,這世上最難降的妖魔是什么阔拳? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任崭孤,我火速辦了婚禮,結果婚禮上糊肠,老公的妹妹穿的比我還像新娘辨宠。我一直安慰自己,他們只是感情好货裹,可當我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布嗤形。 她就那樣靜靜地躺著,像睡著了一般弧圆。 火紅的嫁衣襯著肌膚如雪赋兵。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天搔预,我揣著相機與錄音霹期,去河邊找鬼。 笑死拯田,一個胖子當著我的面吹牛历造,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼吭产,長吁一口氣:“原來是場噩夢啊……” “哼侣监!你這毒婦竟也來了?” 一聲冷哼從身側響起臣淤,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤橄霉,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后荒典,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體酪劫,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年寺董,在試婚紗的時候發(fā)現(xiàn)自己被綠了覆糟。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡遮咖,死狀恐怖滩字,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情御吞,我是刑警寧澤麦箍,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站陶珠,受9級特大地震影響挟裂,放射性物質發(fā)生泄漏。R本人自食惡果不足惜揍诽,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一诀蓉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧暑脆,春花似錦渠啤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至碟联,卻和暖如春妓美,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背鲤孵。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工部脚, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人裤纹。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓委刘,卻偏偏與公主長得像丧没,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子锡移,可洞房花燭夜當晚...
    茶點故事閱讀 45,092評論 2 355