<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Storm使用到的相關(guān)技術(shù)總結(jié)

      作者: 大圓那些事 | 文章可以轉(zhuǎn)載,請以超鏈接形式標明文章原始出處和作者信息

      網(wǎng)址: http://www.rzrgm.cn/panfeng412/archive/2012/12/16/storm-related-technique-summary.html

      Storm作為一個開源的分布式實時流計算框架,其內(nèi)部實現(xiàn)使用了一些常用的技術(shù),這里是對這些技術(shù)及其在Storm中作用的概括介紹。以此為基礎(chǔ),后續(xù)再深入了解Storm的內(nèi)部實現(xiàn)細節(jié)。

      1. Zookeeper集群

      Zookeeper是一個針對大型分布式系統(tǒng)的可靠協(xié)調(diào)服務(wù)系統(tǒng),其采用類似Unix文件系統(tǒng)樹形層次結(jié)構(gòu)的數(shù)據(jù)模型(如:/zoo/a,/zoo/b),節(jié)點內(nèi)可存儲少量數(shù)據(jù)(<1M,當節(jié)點存儲大數(shù)據(jù)量時,實際應(yīng)用中可能出現(xiàn)同步問題)。

      Zookeepr的高可靠性服務(wù)是通過配置Zookeeper集群實現(xiàn)的,官方建議Zookeeper集群至少包含3個節(jié)點,每個節(jié)點上存儲一份數(shù)據(jù),主節(jié)點掛掉后可以重新選取一個節(jié)點作為主節(jié)點。只要保證集群內(nèi)有一半以上的節(jié)點存活,集群就可對外提供服務(wù)。

      Zookeeper支持的操作類型有:

      (1)創(chuàng)建樹節(jié)點znode;

      (2)刪除樹節(jié)點znode;

      (3)讀取樹節(jié)點znode的內(nèi)容和其子節(jié)點的內(nèi)容;

      (4)當節(jié)點內(nèi)容發(fā)生變化或子節(jié)點增刪時觸發(fā)消息通知更新消息;

      (5)支持瞬時節(jié)點(EPHEMERAL),創(chuàng)建節(jié)點的進程退出后節(jié)點自動被刪除。

      Storm中使用Zookeeper主要用于Storm集群各節(jié)點的分布式協(xié)調(diào)工作,具體功能如下:

      (1)存儲客戶端提供的topology任務(wù)信息,nimbus負責將任務(wù)分配信息寫入Zookeeper,supervisor從Zookeeper上讀取任務(wù)分配信息;

      (2)存儲supervisor和worker的心跳(包括它們的狀態(tài)),使得nimbus可以監(jiān)控整個集群的狀態(tài), 從而重啟一些掛掉的worker;

      (3)存儲整個集群的所有狀態(tài)信息和配置信息。

      關(guān)于Storm在Zookeeper的詳細目錄結(jié)構(gòu),可參考這里

      2. Thrift服務(wù)框架

      Thrift是一個跨語言的可擴展的服務(wù)框架,它通過一個中間語言(IDL,接口定義語言)來定義RPC的接口和數(shù)據(jù)類型,然后通過一個編譯器生成RPC客戶端和服務(wù)器通信的無縫跨編程語言。
      Storm中Thrift的應(yīng)用場景:
      (1)客戶端向nimbus提交topology任務(wù);
      (2)supervisor從nimbus下載topology任務(wù)(代碼和序列化文件);
      (3)storm ui從nimbus獲取topology運行的統(tǒng)計信息。

      3. ZeroMQ消息隊列

      ZeroMQ是一個基于消息的嵌入式網(wǎng)絡(luò)編程庫,可作為并發(fā)框架連接多個應(yīng)用程序,支持N-to-N的連接,多種工作模式(Request-reply,Publish-subscribe,Pipeline等),支持多種語言,ZeroMQ使得編寫高性能網(wǎng)絡(luò)應(yīng)用程序極為簡單。
      Storm中ZeroMQ的應(yīng)用場景:Spout與Bolt、Bolt與Bolt之間tuple消息的傳輸。

      4. Java序列化

      Java序列化技術(shù)可以實現(xiàn)將Java對象保存為二進制文件,而反序列化過程則可以在另一個Java進程中將此二進制文件恢復(fù)為Java對象,其缺點在于不能很好的解決版本變化。
      Storm中Java序列化的應(yīng)用場景:
      (1)客戶端提交topology任務(wù)后,Storm將topology任務(wù)序列化并發(fā)送給nimbus;
      (2)supervisor從Zookeeper取得任務(wù)信息后,從nimbus下載序列化文件和jar包,啟動worker進程并反序列化得到提交任務(wù)時的topology對象。

      5. 總結(jié)

      以上只是對Storm中所使用到的Zookeeper集群、Thrift服務(wù)框架、ZeroMQ消息隊列、Java序列化技術(shù)及其在Storm中的應(yīng)用情況的簡單介紹,后續(xù)再進一步結(jié)合Storm的源碼進行深入分析。以上內(nèi)容,如果不對之處,歡迎大家指正。

       

      posted on 2012-12-16 11:57  大圓那些事  閱讀(13516)  評論(0)    收藏  舉報

      導(dǎo)航

      主站蜘蛛池模板: 激情综合网一区二区三区| 国产女人叫床高潮大片| 极品少妇无套内射视频| 日本高清视频网站www| 亚洲男人电影天堂无码| 亚洲精品国产av成拍色拍个| 一区三区在线专区在线| AV最新高清无码专区 | 内射合集对白在线| 国产精品福利自产拍久久 | 亚洲一国产一区二区三区| 人妻丰满熟妇av无码区不卡| 国产欧美亚洲精品第一页在线| 乱人伦人妻系列| 中文字幕一区二区三区麻豆| 精品一区二区三区在线视频观看| 无遮高潮国产免费观看| 久久综合亚洲色一区二区三区 | 亚洲AV无码东方伊甸园| 夜色福利站WWW国产在线视频| 国产一区二区三区十八禁| 久久乐国产精品亚洲综合| 国产乱色国产精品免费视频| 日韩高清亚洲日韩精品一区二区| 国产中文字幕精品喷潮| 蜜臀av一区二区精品字幕| 男女猛烈无遮挡免费视频| 精品人妻蜜臀一区二区三区| 九九热视频在线免费观看| 国产真人无遮挡免费视频| 成在线人视频免费视频 | 国产片一区二区三区视频| 日本va欧美va精品发布| 蜜桃视频一区二区三区四| 大地资源中文在线观看西瓜| 九九热视频在线观看精品| 中文字幕日韩有码国产| 99热精品毛片全部国产无缓冲| 国产精品永久免费无遮挡| 中文字幕乱码视频32| 99在线精品视频观看免费|