『中級(jí)篇』容器編排Docker Swarm介紹(42)

原創(chuàng)文章,歡迎轉(zhuǎn)載俄认。轉(zhuǎn)載請(qǐng)注明:轉(zhuǎn)載自IT人故事會(huì)个少,謝謝洪乍!
原文鏈接地址:『中級(jí)篇』容器編排Docker Swarm介紹(42)

到今天這次總結(jié),如果跟著我一起學(xué)一起練的老鐵夜焦,完全入門docker了壳澳。在日常的開發(fā)和測(cè)試,絕對(duì)是沒(méi)有問(wèn)題的茫经。不管是我們自己和docker公司巷波,他們的初心都是想用在生產(chǎn)環(huán)境下,但是生產(chǎn)環(huán)境和測(cè)試環(huán)境完全是兩種環(huán)境條件卸伞。

之前的學(xué)習(xí)實(shí)踐環(huán)境

在用學(xué)習(xí)容器編排之前抹镊,所有操作本地進(jìn)行的,docker cli 連接是一臺(tái)的docker host荤傲,不管是docker run 還是docker container 都是在一臺(tái)機(jī)器上垮耳,但是實(shí)際的生產(chǎn)環(huán)境下,一個(gè)應(yīng)用很復(fù)雜他部署在一臺(tái)機(jī)器上滿足不了我們的需求遂黍,都是通過(guò)集群的方式來(lái)解決問(wèn)題的终佛。

到處都使用容器帶來(lái)的困擾
  1. 怎么去管理這么多容器?
  2. 怎么能方便的橫向擴(kuò)展雾家?
  3. 如果容器down了铃彰,怎么能自動(dòng)恢復(fù)?
  4. 如何去更新融起而不影響業(yè)務(wù)芯咧?
  5. 怎么去調(diào)度容器的創(chuàng)建牙捉?
  6. 保護(hù)隱私數(shù)據(jù)?
Swarm的架構(gòu)
  1. swarm集群的架構(gòu)
  2. 節(jié)點(diǎn)下面有角色:Worker Manager
  3. Manager 是整個(gè)warm集群的大腦敬飒,為了避免單點(diǎn)的故障邪铲,我們的大腦至少有2個(gè),狀態(tài)的同步通過(guò)raft協(xié)議進(jìn)行同步驶拱。raft協(xié)議可以確保多個(gè)Manager之前是同步的霜浴。

分布式系統(tǒng)之于單機(jī)系統(tǒng),優(yōu)勢(shì)之一就是有更好的容錯(cuò)性蓝纲。

  • 比如阴孟,一臺(tái)機(jī)器上的磁盤損壞,數(shù)據(jù)丟失税迷,可以從另一臺(tái)機(jī)器上的磁盤>恢復(fù)(分布式系統(tǒng)會(huì)對(duì)數(shù)據(jù)做備份)
  • 比如永丝,集群中某些機(jī)器宕機(jī),整個(gè)集群還可以對(duì)外提供服務(wù)
    這是如何做到的箭养?比較容易的一個(gè)想法就是備份(backup)慕嚷。一個(gè)系統(tǒng)的工作模是:接受客戶端的command,系統(tǒng)進(jìn)行處理,將處理的結(jié)果返回給客戶端喝检。由此可見嗅辣,系統(tǒng)里的數(shù)據(jù)可能會(huì)因?yàn)閏ommand而變化。
    實(shí)現(xiàn)備份的做法之一就是復(fù)制狀態(tài)機(jī)(Repilcated State Machine挠说,RSM)澡谭,它有一個(gè)很重要的性質(zhì)——確定性(deterministic)
  • 如果兩個(gè)相同的、確定性的狀態(tài)從同一狀態(tài)開始损俭,并且以相同的順序獲得相同的輸入蛙奖,那么這兩個(gè)狀態(tài)機(jī)將會(huì)生成相同的輸出,并且結(jié)束在相同的狀態(tài)
    也就是說(shuō)杆兵,如果我們能按順序?qū)ommand作用于狀態(tài)機(jī)雁仲,它就可以產(chǎn)生相同的狀態(tài)和相同的輸出
    那么一個(gè)狀態(tài)機(jī)如何實(shí)現(xiàn)呢?如下圖所示(來(lái)自raft協(xié)議):
image

上圖中琐脏,每個(gè)RSM都有一個(gè)replicated log攒砖,存儲(chǔ)的是來(lái)自客戶端的commands。每個(gè)RSM中replicate log中commads的順序都是相同的骆膝,狀態(tài)機(jī)按順序處理replicate log中的command,并將處理的結(jié)果返回給客戶端祭衩。由于狀態(tài)機(jī)具有確定性灶体,因此每個(gè)狀態(tài)機(jī)的輸出和狀態(tài)都是相同的阅签。
上圖中有一個(gè)模塊——Consensus Module剛剛沒(méi)有提及。這個(gè)模塊用于保證每個(gè)server上Log的一致性蝎抽!

  • 如果不做任何保障政钟,直接將commad暴力寫入,一旦服務(wù)器宕機(jī)或者出現(xiàn)什么其他故障樟结,就會(huì)導(dǎo)致這個(gè)Log丟失养交,并且無(wú)法恢復(fù)。而出現(xiàn)故障的可能性是很高的瓢宦,這就導(dǎo)致系統(tǒng)不可用
  • raft就是Consensus Module的一個(gè)實(shí)現(xiàn)
    因此碎连,raft是一致性協(xié)議,是用來(lái)保障servers上副本一致性的一種算法驮履。
  1. worker是通過(guò)gossip的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行同步
  2. Service 和Replicas鱼辙,這里的Service在docker compose中的Service是一樣的。


命令合集

個(gè)人主頁(yè):IT人故事會(huì)

PS:之后通過(guò)很多很多的實(shí)踐操作一起來(lái)學(xué)習(xí)Swarm玫镐。


往期精彩
  1. docker導(dǎo)學(xué)(一)
  2. 容器的技術(shù)概述(二)
  3. docker的魅力初體驗(yàn)-5分鐘安裝wordpress不走彎路(三)
  4. docker官網(wǎng)介紹(四)
  5. 如何在mac上安裝docker(五)
  6. 如何在window上安裝docker(六)
  7. 如何在mac上通過(guò)vagrant安裝虛擬機(jī)(七)
  8. 如何在window上通過(guò)vagrant安裝虛擬機(jī)(八)
  9. docker-Machine的本地使用(九)
  10. docker-Machine的本地使用(十)
  11. 在linux/mac下通過(guò)Docker-Machine在阿里云上的使用(11)
  12. docker架構(gòu)和底層技術(shù)(12)
  13. docker Image概述(13)
  14. 手動(dòng)建立一個(gè)base Image(14)
  15. 什么是Container(15)
  16. 構(gòu)建自己的Docker鏡像(16)
  17. Dockerfile詳解(17)
  18. 鏡像的發(fā)布(18)
  19. Dockerfile實(shí)戰(zhàn)(19)
  20. 容器的操作(20)
  21. Dockerfile實(shí)戰(zhàn)CMD和ENTRTYPOINT的配合(21)
  22. 容器的資源限制(22)
  23. docker網(wǎng)絡(luò)(23)
  24. docker學(xué)習(xí)必會(huì)網(wǎng)絡(luò)基礎(chǔ)(24)
  25. Linux網(wǎng)絡(luò)命名空間(25)
  26. Docker Bridge詳解(26)
  27. 容器之間的Link(27)
  28. 容器的端口映射(28)
  29. 容器網(wǎng)絡(luò)之host和none(29)
  30. 多容器復(fù)雜應(yīng)用的部署(30)
  31. overlay網(wǎng)絡(luò)和etcd實(shí)現(xiàn)多機(jī)的容器通信(31)
  32. docker的數(shù)據(jù)持久化存儲(chǔ)和數(shù)據(jù)共享(32)
  33. windows下vagrant 通過(guò)SecureCRT連接centos7(33)
  34. 數(shù)據(jù)持久化之Data Volume(34)
  35. 數(shù)據(jù)持久化之bind Mounting(35)
  36. docker 使用bind Mounting實(shí)戰(zhàn)(36)
  37. docker容器安裝wordpress(37)
  38. docker Compose到底是什么(38)
  39. Docker Compose的安裝和基本使用(39)
  40. Docker 水平擴(kuò)展和負(fù)載均衡(40)
  41. Docker compose 部署一個(gè)復(fù)雜的應(yīng)用(41)
image
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末倒戏,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子恐似,更是在濱河造成了極大的恐慌杜跷,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,406評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異葛闷,居然都是意外死亡憋槐,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門淑趾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)秦陋,“玉大人,你說(shuō)我怎么就攤上這事治笨〔蹈牛” “怎么了?”我有些...
    開封第一講書人閱讀 167,815評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵旷赖,是天一觀的道長(zhǎng)顺又。 經(jīng)常有香客問(wèn)我,道長(zhǎng)等孵,這世上最難降的妖魔是什么稚照? 我笑而不...
    開封第一講書人閱讀 59,537評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮俯萌,結(jié)果婚禮上果录,老公的妹妹穿的比我還像新娘。我一直安慰自己咐熙,他們只是感情好弱恒,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,536評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著棋恼,像睡著了一般返弹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上爪飘,一...
    開封第一講書人閱讀 52,184評(píng)論 1 308
  • 那天义起,我揣著相機(jī)與錄音,去河邊找鬼师崎。 笑死默终,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的犁罩。 我是一名探鬼主播齐蔽,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼昼汗!你這毒婦竟也來(lái)了肴熏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,668評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤顷窒,失蹤者是張志新(化名)和其女友劉穎蛙吏,沒(méi)想到半個(gè)月后源哩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,212評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鸦做,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,299評(píng)論 3 340
  • 正文 我和宋清朗相戀三年励烦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片泼诱。...
    茶點(diǎn)故事閱讀 40,438評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡坛掠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出治筒,到底是詐尸還是另有隱情屉栓,我是刑警寧澤,帶...
    沈念sama閱讀 36,128評(píng)論 5 349
  • 正文 年R本政府宣布耸袜,位于F島的核電站友多,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏堤框。R本人自食惡果不足惜域滥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,807評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蜈抓。 院中可真熱鬧启绰,春花似錦、人聲如沸沟使。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)格带。三九已至撤缴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間叽唱,已是汗流浹背屎飘。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工噩茄, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人弟劲。 一個(gè)月前我還...
    沈念sama閱讀 48,827評(píng)論 3 376
  • 正文 我出身青樓蟋软,卻偏偏與公主長(zhǎng)得像镶摘,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子岳守,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,446評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容