自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

聚效廣告張燁:基于Docker和Mesos的服務(wù)可靠性保障實(shí)踐

原創(chuàng)
開發(fā) 架構(gòu) 大數(shù)據(jù)
2016年4月14-15日,由51CTO傳媒主辦的WOT2016互聯(lián)網(wǎng)運(yùn)維與開發(fā)者大會在北京珠三角JW萬豪酒店召開。秉承專注技術(shù)、服務(wù)技術(shù) 人員的理念,自2012年以來,WOT品牌大會已經(jīng)成功舉辦九屆,積累了大量的技術(shù)專家資源,獲得了廣大IT從業(yè)者和技術(shù)愛好者的一致認(rèn)可,成為了業(yè)界重要的技術(shù)分享交流平臺以及人脈拓展平臺。

來到移動互聯(lián)網(wǎng)時代,廣告技術(shù)發(fā)生了質(zhì)的改變。不再像PC時代廣告的展示空間、廣告樣式那樣豐富和自由;廣告的商業(yè)化特殊特征,也使其技術(shù)平臺接受著高并發(fā)、極低延時和大數(shù)據(jù)量的挑戰(zhàn)。面對移動時代越來越苛刻的用戶體驗(yàn)需求,廣告業(yè)務(wù)對于系統(tǒng)可靠性的要求也變得越來也高。

在WOT2016互聯(lián)網(wǎng)運(yùn)維與開發(fā)者大會現(xiàn)場,51CTO記者專訪到聚效廣告SRE工程團(tuán)隊(duì)總監(jiān)張燁,探尋聚效工程團(tuán)隊(duì)是如何利用Docker 和 Mesos來保障服務(wù)可靠性的。

嘉賓簡介

張燁(Michael)目前就職于聚效廣告平臺工程師團(tuán)隊(duì),主要負(fù)責(zé)SRE和大數(shù)據(jù)平臺。十多年互聯(lián)網(wǎng)行業(yè)的DevOps實(shí)踐經(jīng)歷,也是OCP在國內(nèi)的少數(shù)先行者之一。同時也是中國反垃圾郵件聯(lián)盟的聯(lián)合創(chuàng)始人和Linux中國小區(qū)的初創(chuàng)專家。

為什么是Docker

移動互聯(lián)網(wǎng)時代的廣告創(chuàng)意和營銷,必須要找到精準(zhǔn)與用戶體驗(yàn)之間的平衡點(diǎn)。張燁介紹說,為了應(yīng)對挑戰(zhàn),聚效廣告除了依托數(shù)據(jù)和精準(zhǔn)營銷的技術(shù)之外,還針對移動端的一些新特性和場景,設(shè)計(jì)In APP廣告、HTML5廣告等一些特有應(yīng)用,基于原有的基礎(chǔ)平臺嘗試不同的產(chǎn)品化實(shí)現(xiàn)。這些廣告產(chǎn)品業(yè)務(wù)的復(fù)雜性及商業(yè)化的特殊性,使聚效廣告系統(tǒng)需要表現(xiàn)出更高的可靠性,來應(yīng)對高并發(fā)、極低延時和大數(shù)據(jù)量的挑戰(zhàn)。

張燁認(rèn)為對于可靠性的定義,應(yīng)該基于整體業(yè)務(wù)平臺之上來衡量,包括公司系統(tǒng)的經(jīng)濟(jì)損失、商業(yè)品牌塑造、媒體影響力等等,而不應(yīng)該局限于系統(tǒng)的某些模塊或服務(wù)可用性??煽啃灾笜?biāo)是一個目的,為了達(dá)到這個目的,企業(yè)還需要要解決哪些問題,系統(tǒng)架構(gòu)、開發(fā)和運(yùn)維工具等方面還需要做哪些事情,根據(jù)業(yè)務(wù)的實(shí)際情況是應(yīng)該將目標(biāo)定為3個九、4個九或是更高,等等。為了達(dá)到目的,企業(yè)需要從技術(shù)和可靠性等方面做綜合的考量。

為了保障服務(wù)的可靠性,以及提高系統(tǒng)的靈活伸縮性能,聚效工程團(tuán)隊(duì)在Docker容器化和Mesos資源調(diào)度框架方面進(jìn)行了較為深入的探索。2014年底,聚效SRE團(tuán)隊(duì)開始接觸Docker,2015年中旬開始正式將Docker投入到生產(chǎn)環(huán)節(jié)來使用。張燁說之所以選擇Docker,是為了解決公司業(yè)務(wù)對于服務(wù)可調(diào)度化的需求。他們發(fā)現(xiàn)將服務(wù)Docker化可以解決這個訴求,于是開始將Docker集成到公司原有的的CICD(持續(xù)集成與持續(xù)交付)的開發(fā)流程中,并驅(qū)動團(tuán)隊(duì)開發(fā)和保證這些監(jiān)控工具和運(yùn)維工具的可用性。“我們不是為了Docker而使用Docker,Docker只是一個輪子,是驅(qū)動我們提高軟件和系統(tǒng)品質(zhì)的工具”,張燁這樣告訴記者。

為什么是Mesos

隨著在生產(chǎn)環(huán)境下部署Docker集群的需求越來越多,Mesos、Kubernetes等資源管理和調(diào)度軟件也漸漸走進(jìn)大家的視線。經(jīng)過不斷的選型和嘗試,聚效廣告系統(tǒng)目前采用的是Mesos來實(shí)現(xiàn)Docker集群的管理和資源調(diào)度

最初聚效廣告系統(tǒng)選擇的是Kubernetes來管理Docker集群。“Kubernetes是很好的整體解決方案,因?yàn)樗且粋€大而全的工具,既能解決容器化、又能解決資源調(diào)度,又能解決服務(wù)發(fā)現(xiàn)等等的問題”,張燁是這樣評價Kubernetes的。那是什么原因讓他們放棄Kubernetes,轉(zhuǎn)而使用Mesos的呢?張燁向記者解釋說,這是因?yàn)镵ubernetes的網(wǎng)絡(luò)模型比較復(fù)雜,在高并發(fā)情況下的性能是很大的問題,但這正是廣告系統(tǒng)非常關(guān)鍵的需求,因此只能無奈放棄。

Mesos是Apache下的開源分布式資源管理框架,起源于Google的數(shù)據(jù)中心資源管理系統(tǒng)Borg,被稱為是分布式系統(tǒng)的內(nèi)核。Mesos實(shí)現(xiàn)了雙層調(diào)度機(jī)制,使它可以管理多種類型的應(yīng)用程序。第一級調(diào)度是Master的守護(hù)進(jìn)程,管理Mesos集群中所有節(jié)點(diǎn)上運(yùn)行的Slave守護(hù)進(jìn)程。集群由物理服務(wù)器或虛擬服務(wù)器組成,用于運(yùn)行應(yīng)用程序的任務(wù),比如Hadoop和MPI作業(yè)。第二級調(diào)度由被稱作Framework的“組件”組成,包括調(diào)度器(Scheduler)和執(zhí)行器(Executor)進(jìn)程,其中每個節(jié)點(diǎn)上都會運(yùn)行執(zhí)行器。Mesos能和不同類型的Framework通信,每種Framework由相應(yīng)的應(yīng)用集群管理。這些Framework可以減少個業(yè)重造輪子的代價,像Mesos本身不處理網(wǎng)絡(luò)問題,但利用Marathon我們可以選擇Docker本身提供的Host模式和Bridge模式。Mesos的開源特性與基于Framework的調(diào)度機(jī)制,是聚效廣告系統(tǒng)選擇它的重要原因。

服務(wù)Docker容器化的典型問題

經(jīng)過不斷的摸索和實(shí)踐,聚效SRE團(tuán)隊(duì)在服務(wù)Docker容器化方面積極了很多經(jīng)驗(yàn),張燁也享了幾個比較典型的問題。

  • 不要在Docker中加入SSH

很多人都喜歡用SSH,也會認(rèn)為在Container里安裝一個SSH Server 就可以直接連接Container并且進(jìn)入它的內(nèi)部,這樣就可以很容易地檢查日志,做備份,或者重啟進(jìn)程,調(diào)整配置等。但其實(shí)只有SSH Sever是不夠的,還需要加入進(jìn)程管理軟件,Monit 或 Supervisor等監(jiān)控軟件,而且由于Docker只能管理單進(jìn)程,如果應(yīng)用停止了,我們只能通過進(jìn)程管理軟件那里獲得信息,這樣就把簡單的Docker復(fù)雜化了,并且會有一些訪問上的安全隱患。在使用Docker的時候,一定要跳出把它當(dāng)成小“vps”的誤區(qū),尋找其它解決方案來處理需要SSH的問題

  • 存儲持久化

Docker 有一個Plugin的機(jī)制,可以讓一個容器為其他容器提供存儲。這個容器是可以Ceph, Gluster或者任何其他的存儲集群的一員,并掛載在另一個容器上,來解決存儲持久化的問題。

  • Docker網(wǎng)絡(luò)性能

張燁講到,他們跳過了Docker本身網(wǎng)絡(luò)性能問題。對于網(wǎng)絡(luò)性能需求高的服務(wù),他們選擇了它的host模式來兼容;對于網(wǎng)絡(luò)性能不高的服務(wù),則是采用Docker本身自帶的網(wǎng)絡(luò)解決方案,從而避免了我們重新去做SDN的研發(fā),或者說重新造輪子的代價,而是選擇用適合于自身業(yè)務(wù)的產(chǎn)品繞過去。

留給每位工程師的DevOps問題

Docker是一個對開發(fā)者非常友好的東西:簡單的實(shí)現(xiàn)不同機(jī)器上的環(huán)境標(biāo)準(zhǔn)化,可以輕松拿來拿去,而且在不同的云平臺上都支持。但把Docker用起來對運(yùn)維而言則是很大的挑戰(zhàn)。

張燁告訴記者,在聚效,DevOps是每個工程師都必須要做的事情,所有開發(fā)規(guī)范和工作方式都是圍繞DevOps的方式去做,所以對每位工程師的能力要求非常高。因?yàn)槊课还こ處煵粌H僅是在開發(fā)產(chǎn)品的Feature,還要在DevOps理念的指導(dǎo)下,考慮開發(fā)出來產(chǎn)品的可運(yùn)維性、可監(jiān)控性、可交付性等等,并且日常的Ops的這些On call工作,也是由Dev-team輪流完成。

張燁的建議是,不要強(qiáng)求每個團(tuán)隊(duì)都要用DevOps這種方式工作。我們可以在特定的團(tuán)隊(duì)和特定的項(xiàng)目里采用DevOps這種方式,比如一些對于可靠性要求非常高的業(yè)務(wù),會提高項(xiàng)目整體迭代能力和可靠性。

 

 

 

責(zé)任編輯:Ophira 來源: 51CTO.com
相關(guān)推薦

2013-04-24 10:31:44

公有云云安全

2023-07-07 08:16:53

Redis持久化

2023-10-27 07:36:16

存儲系統(tǒng)數(shù)據(jù)防丟

2018-09-27 14:13:27

云服務(wù)可靠故障

2022-03-07 08:13:06

MQ消息可靠性異步通訊

2010-12-28 19:50:21

可靠性產(chǎn)品可靠性

2013-12-06 15:31:49

TechEd2013

2021-09-03 09:00:00

SREIT運(yùn)營

2010-09-15 17:12:28

UPS壽命

2013-02-01 14:13:41

服務(wù)器內(nèi)存可靠性可用性

2017-09-13 12:18:29

2025-03-03 03:00:00

2019-07-26 08:00:00

微服務(wù)架構(gòu)

2014-02-13 10:30:13

云計(jì)算迪普科技DPX19000

2023-06-27 17:50:22

2022-07-29 15:46:19

測試混沌工程

2022-08-05 12:59:50

物聯(lián)網(wǎng)IoT

2019-08-30 12:10:05

磁盤數(shù)據(jù)可靠性RAID

2010-12-28 19:55:20

軟件架構(gòu)可靠性

2020-12-06 14:51:23

物聯(lián)網(wǎng)可靠性IOT
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號