精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

Netflix如何使用Mantis進(jìn)行運(yùn)維數(shù)據(jù)流及批量處理

責(zé)任編輯:editor006

作者:Dylan Raithel

2016-05-04 16:14:26

摘自:INFOQ

今年三月,Netflix在博客中推出了一系列文章,介紹了該公司設(shè)計(jì)的一個(gè)運(yùn)維指標(biāo)處理平臺(tái),名為Mantis。Mantis與Netflix現(xiàn)有的基礎(chǔ)設(shè)施實(shí)現(xiàn)了良好的集成,允許開(kāi)發(fā)者及其應(yīng)用提交用于生成事件、處理事件和查詢(xún)事件的各種作業(yè)。

今年三月,Netflix在博客中推出了一系列文章,介紹了該公司設(shè)計(jì)的一個(gè)運(yùn)維指標(biāo)處理平臺(tái),名為Mantis。在這個(gè)平臺(tái)上可進(jìn)行細(xì)粒度、設(shè)備級(jí)別的事件推送,并捕獲運(yùn)維相關(guān)的指標(biāo)。它使得Netflix能夠構(gòu)建具備極細(xì)粒度、實(shí)時(shí)的數(shù)據(jù)觀察應(yīng)用,通過(guò)這些應(yīng)用能夠深刻地了解Netflix終端用戶(hù)的設(shè)備與AWS服務(wù)之間的互操作,這些功能包括運(yùn)維方面的儀表板,以及通過(guò)SPS的分析實(shí)現(xiàn)的單個(gè)節(jié)目級(jí)別的警告功能。

Netflix現(xiàn)有的服務(wù)級(jí)別監(jiān)控系統(tǒng)并不適用于理解與診斷在具體某個(gè)特定用戶(hù)、設(shè)備和娛樂(lè)節(jié)目的環(huán)境中,與設(shè)備級(jí)別行為相關(guān)的問(wèn)題。這些用戶(hù)、設(shè)備與節(jié)目的組合形成了一種資產(chǎn),而數(shù)據(jù)的捕獲、轉(zhuǎn)換、報(bào)表生成以及警告就是基于這些資產(chǎn)進(jìn)行的。由Mantis所驅(qū)動(dòng)的異常檢測(cè)功能讓工程人員能夠跟蹤每種資產(chǎn)的各種事件,使他們能夠快速地對(duì)生產(chǎn)環(huán)境中的問(wèn)題進(jìn)行響應(yīng),并得知受到影響的用戶(hù)群體。而這些能力是作用在一個(gè)高處理量、高基數(shù)的實(shí)時(shí)流處理以及批量數(shù)據(jù)處理的環(huán)境中實(shí)現(xiàn)的。

Mantis與Netflix現(xiàn)有的基礎(chǔ)設(shè)施實(shí)現(xiàn)了良好的集成,允許開(kāi)發(fā)者及其應(yīng)用提交用于生成事件、處理事件和查詢(xún)事件的各種作業(yè)。這些事件來(lái)自于約20種不同的數(shù)據(jù)源,包括Zuul和API等服務(wù)、個(gè)性化和點(diǎn)播服務(wù)、以及設(shè)備日志數(shù)據(jù)等等。事件生成者與調(diào)用者之間的解耦實(shí)現(xiàn)了這兩者之間的隔離,為生產(chǎn)環(huán)境中的異常檢測(cè)和修復(fù)提供了更大的靈活性。

該系統(tǒng)的架構(gòu)基于Apache Mesos設(shè)計(jì),它提供了一種處于應(yīng)用開(kāi)發(fā)者與EC2服務(wù)器集群之間的抽象層,作為流處理作業(yè)計(jì)算資源的共享池。應(yīng)用開(kāi)發(fā)者可通過(guò)一系列API或某個(gè)圖形用戶(hù)界面對(duì)作業(yè)進(jìn)行配置,并可在之后對(duì)作業(yè)的配置進(jìn)行編輯,以及查詢(xún)當(dāng)前各項(xiàng)指標(biāo)。應(yīng)用開(kāi)發(fā)者可以基于這些數(shù)據(jù)構(gòu)建自己的應(yīng)用程序,同時(shí)又與Mantis的內(nèi)部實(shí)現(xiàn)細(xì)節(jié)保持了解耦。

Mantis作業(yè)具備不同的消息保證級(jí)別,遵循Kafka語(yǔ)義,例如“最多一次”可保證傳遞,以及“至少一次”可保證傳遞。曾有人向Mantis的工程師Neeraj Joshi詢(xún)問(wèn)Mantis為何不使用其他架構(gòu)方案,包括Spark Streaming。Joshi指出,

基于Kafka的實(shí)現(xiàn)對(duì)于資源的調(diào)度具備更多的控制能力,因此我們可以選擇更智能的分配方式,例如binpack算法等等(同時(shí)也讓我們能夠?qū)ψ鳂I(yè)的處理進(jìn)行擴(kuò)展)。

Mantis的設(shè)計(jì)中包括一個(gè)master/agent的集群模型,并使用了Frenzo。Frenzo是一個(gè)資源管理器,它最近剛剛成為一個(gè)開(kāi)源項(xiàng)目,作為一個(gè)Java的調(diào)度器庫(kù),它可以通過(guò)在Mesos工作集群中新增與刪除實(shí)例的方式實(shí)現(xiàn)自動(dòng)伸縮。伸縮的標(biāo)準(zhǔn)取決于資源使用率指標(biāo)、作業(yè)的調(diào)度時(shí)間,以及通過(guò)資源使用率儀表板對(duì)作業(yè)進(jìn)行的人工操作等等。Fenzo可基于作業(yè)調(diào)度時(shí)間以及當(dāng)前的資源使用情況動(dòng)態(tài)地分配EC2實(shí)例。作業(yè)管理器可提供元數(shù)據(jù)保留、SLA、部署位置、作業(yè)拓?fù)浣Y(jié)構(gòu)以及生命周期等信息。

Mantis能夠執(zhí)行的任務(wù)包括流處理、具有背壓感知性的非阻塞性作業(yè)、數(shù)據(jù)轉(zhuǎn)換以及異步結(jié)果存儲(chǔ)。對(duì)于基本的轉(zhuǎn)換/聚合等用例,作業(yè)可以定義為一個(gè)單獨(dú)的階段。而對(duì)于高處理量、高基數(shù)的事件流,也可以將作業(yè)定義為多個(gè)階段進(jìn)行分片與處理等操作。

Netflix的工程師Nick Mahilani提到了Mantis的作業(yè)定制化、用戶(hù)自定義的作業(yè)以及內(nèi)部的實(shí)現(xiàn)細(xì)節(jié):

系統(tǒng)提供了一些可重用的作業(yè),用戶(hù)在提交這些作業(yè)時(shí)能夠傳遞不同的參數(shù)集。舉例來(lái)說(shuō),某些作業(yè)通過(guò)不同參數(shù)可連接至不同的來(lái)源、根據(jù)不同的key進(jìn)行分組、或基于閥值參數(shù)進(jìn)行異常檢測(cè)。某些作業(yè)還能夠接受被動(dòng)態(tài)編譯為模板作業(yè)的參數(shù)……

用戶(hù)可自行開(kāi)發(fā)以作業(yè)方式進(jìn)行提交的新應(yīng)用,他們可專(zhuān)注于作業(yè)本身的編寫(xiě),而無(wú)需考慮擴(kuò)展或資源設(shè)置方面的問(wèn)題。在實(shí)現(xiàn)Mantis作業(yè)時(shí)需要引入Mantis運(yùn)行時(shí)庫(kù),并實(shí)現(xiàn)某個(gè)Java接口。該作業(yè)將被傳遞一個(gè)RxJava Observable對(duì)象,作業(yè)的開(kāi)發(fā)者可通過(guò)Rx操作符對(duì)其進(jìn)行轉(zhuǎn)換。作業(yè)的執(zhí)行結(jié)果可傳輸至管道的下一個(gè)階段,也可讓其他作業(yè)使用經(jīng)過(guò)轉(zhuǎn)換的流。在部署作業(yè)時(shí),用戶(hù)需要將作業(yè)打包為一個(gè).zip文件,隨后通過(guò)Mantis集群進(jìn)行分發(fā)。

據(jù)報(bào)告顯示,在處理運(yùn)維用例時(shí),Mantis能夠充分利用服務(wù)器上的網(wǎng)卡,同時(shí)保持很少的CPU占用。

查看英文原文:Operational Data Stream and Batch Processing at Netflix with Mantis

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 育儿| 工布江达县| 龙陵县| 定兴县| 西林县| 保亭| 托克托县| 榆林市| 隆昌县| 商都县| 定安县| 蛟河市| 克东县| 丰都县| 淅川县| 仪征市| 浙江省| 阜康市| 西平县| 沈阳市| 苍溪县| 黑龙江省| 绥德县| 青冈县| 读书| 从化市| 六盘水市| 铜山县| 桐乡市| 孟州市| 如皋市| 嘉峪关市| 连平县| 澄城县| 石嘴山市| 区。| 谷城县| 开原市| 汽车| 长葛市| 桐城市|