色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

在自動(dòng)化模式中應(yīng)用運(yùn)行MySQL

大小:0.8 MB 人氣: 2017-10-12 需要積分:1
 自動(dòng)化模式(Autopilot Pattern)是一種設(shè)計(jì)應(yīng)用與基礎(chǔ)架構(gòu)的方式,旨在推動(dòng)應(yīng)用系統(tǒng)中的各個(gè)組件自動(dòng)化。組成應(yīng)用的每個(gè)容器都有自己的生命周期,我們將這些生命周期的行為封裝到了應(yīng)用的容器中,而沒有依賴外部架構(gòu)。
  下文將講述我們是如何借助這種模式,部署和運(yùn)行其中一種常被認(rèn)為難以在Docker容器中運(yùn)行的復(fù)雜、有狀態(tài)的應(yīng)用:MySQL。
  運(yùn)行MySQL
  我們從常見的MySQL部署開始:從主節(jié)點(diǎn)到副本節(jié)點(diǎn)執(zhí)行異步復(fù)制。客戶端查詢副本節(jié)點(diǎn),或?qū)χ鞴?jié)點(diǎn)執(zhí)行寫入操作。這個(gè)架構(gòu)會(huì)引發(fā)一些關(guān)于服務(wù)發(fā)現(xiàn)和拓?fù)浣Y(jié)構(gòu)的問題:
  副本節(jié)點(diǎn)如何知道在哪兒能找到主節(jié)點(diǎn)?主節(jié)點(diǎn)如何告知副本節(jié)點(diǎn)從哪兒開始執(zhí)行復(fù)制?客戶端如何知道在哪兒找到節(jié)點(diǎn),哪些節(jié)點(diǎn)接受寫入操作?
  在執(zhí)行部署后,我們還有一系列疑問:
  我們?cè)鯓舆M(jìn)行備份?如何主節(jié)點(diǎn)出現(xiàn)故障,如何對(duì)副本節(jié)點(diǎn)進(jìn)行升級(jí)來進(jìn)行替換?在故障轉(zhuǎn)移期間,其他的副本節(jié)點(diǎn)怎樣知道在哪兒能找到新的主節(jié)點(diǎn)?客戶端如何知道我們執(zhí)行了故障轉(zhuǎn)移?
  當(dāng)然,其中一些問題已經(jīng)有了現(xiàn)成的答案。配置管理工具經(jīng)常會(huì)負(fù)責(zé)應(yīng)用中架構(gòu)的配置工作,但如果運(yùn)行時(shí)應(yīng)用拓?fù)涑霈F(xiàn)變更,配置管理工具是無法回應(yīng)的。數(shù)據(jù)庫(kù)即服務(wù)(DBaaS)負(fù)責(zé)執(zhí)行管理工作,不過如今大多的配置已不再控制范圍內(nèi),成本也更為高昂。
  對(duì)應(yīng)用來說,還有一個(gè)選擇就是執(zhí)行自動(dòng)化運(yùn)行。在這種模式下,要對(duì)應(yīng)用模式執(zhí)行優(yōu)化,代表著要讓應(yīng)用知道如何適應(yīng)整個(gè)系統(tǒng):?jiǎn)?dòng)、關(guān)閉、縮放、發(fā)現(xiàn)和恢復(fù)。最大限度地減少人為干涉,意味著錯(cuò)誤更少,有更多的時(shí)間花在更重要的業(yè)務(wù)上。
  很明顯我們沒打算重寫MySQL,因此需要找出辦法為現(xiàn)有的應(yīng)用提供這個(gè)功能,而我們選擇了Containerbuddy。
  架構(gòu)
  我們需要利用這些組件部署MySQL:
  MySQL:我們使用了MySQL5.6(Percona Server),使用XtraBackup運(yùn)行熱快照備份;
  Consul:用來協(xié)調(diào)復(fù)制與故障轉(zhuǎn)移工作;
  Manta:Joyent的對(duì)象存儲(chǔ)系統(tǒng),為存儲(chǔ)MySQL快照備份提供安全經(jīng)久的服務(wù);
  Containerbuddy:包含在我們的MySQL容器中,負(fù)責(zé)編配bootstrap behavior,通過onStart、health、onChange處理器,調(diào)用Consul中存儲(chǔ)的key和checks協(xié)調(diào)復(fù)制的工作。
  triton-mysql.py:Containerbuddy在執(zhí)行MySQL編配的繁重任務(wù)時(shí)會(huì)調(diào)用到的小型Python應(yīng)用。
  所有代碼與配置都能在GitHub中找到。
  在自動(dòng)化模式中應(yīng)用運(yùn)行MySQL
  架構(gòu)圖
  當(dāng)開始新的MySQL節(jié)點(diǎn)時(shí),Containerbuddy的onStart處理器會(huì)調(diào)用triton-mysql.py。Containerbuddy會(huì)fork Percona Server并等待,同時(shí)運(yùn)行onStart、health、onChange處理器。結(jié)果就是類似這樣在MySQL容器中的進(jìn)程樹:
  root@993acf351cd9:/# ps axo uid,pid,ppid,stime,cmdUID PID PPID STIME CMD root 1019:02/bin/containerbuddy mysql 94119:02|_ mysqld --console --gtid-mode=ON.。.root 107119:04|_ python /bin/triton-mysql.py healthroot 109119:04| |_ /usr/bin/innobackupex --no-timestamp.。.root 120119:06|_ python /bin/triton-mysql.py healthroot 121119:06|_ mysql -u repl -p.。.
  自組裝
  由于我們只用了幾個(gè)Docker鏡像,無需使用單獨(dú)的調(diào)度器來管理發(fā)現(xiàn)與引導(dǎo)服務(wù),簡(jiǎn)單地使用下面的命令就可以運(yùn)行堆棧:
  docker-composeup -d
  出現(xiàn)的第一個(gè)節(jié)點(diǎn)會(huì)登錄Consul發(fā)現(xiàn)服務(wù),嘗試并查找主節(jié)點(diǎn)。如果第一個(gè)節(jié)點(diǎn)發(fā)現(xiàn)主節(jié)點(diǎn)還不存在,則將自身作為主節(jié)點(diǎn),并初始化數(shù)據(jù)庫(kù)。使用Consul會(huì)話通過atomic鎖寫入密碼,這樣就會(huì)有一個(gè)且僅有一個(gè)節(jié)點(diǎn)成為主節(jié)點(diǎn)。

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?
      主站蜘蛛池模板: 成人免费视频在线观看 | 国产一浮力影院 | 免费国产福利 | 少妇连续高潮抽搐痉挛昏厥 | 涩涩视频www在线观看入口 | 亚洲视频在线免费看 | 1000部做羞羞事禁片免费视频网站 | 麻豆XXXX乱女少妇精品-百度 | 国产麻豆剧看黄在线观看 | 综合精品欧美日韩国产在线 | 伦理 电影在线观看百度影音 | 嫩草影院地址一二三 | 免费三级黄色 | 两个吃奶一个添下面视频 | 亚洲无遮挡无码A片在线 | 伦理片 a在线线版韩国 | 麻豆国产99在线中文 | 一边摸一边桶一边脱免费 | 中文字幕午夜福利片 | 城中村快餐嫖老妇对白 | 巨胸美乳中文在线观看 | 国产日韩高清一区二区三区 | 99热在线观看精品 | 九九影院午夜理论片无码 | 日韩人妻少妇一区二区三区 | 国产精品久久免费视频 | 成人免费观看国产高清 | 国产成人精品视频频 | 四虎精品久久久久影院 | 啊…嗯啊好深男男高h文总受 | 99久久精品免费看国产一区二区三区 | 欧美亚洲国产手机在线有码 | 亚洲综合免费视频 | 在线播放无码字幕亚洲 | 国产精品免费久久久久影院 | 99re5久久热在线 | 韩国无遮羞禁动漫在线观看96 | 99午夜高清在线视频在观看 | 98久久人妻无码精品系列蜜桃 | 国产色综合久久无码有码 | 国产乱妇乱子在线播视频播放网站 |