久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Storm 和JStorm該如何理解

168次閱讀
沒有評論

共計 1465 個字符,預計需要花費 4 分鐘才能閱讀完成。

這篇文章給大家介紹  Storm 和 JStorm 該如何理解,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

簡單的概述 Storm 就是:JStorm 比 Storm 更穩定,更強大,更快,Storm 上跑的程序,一行代碼不變可以運行在 JStorm 上。直白的將 JStorm 是阿里巴巴的團隊基于 Storm 的二次開發產物,相當于他們的 Tengine 是基于 Ngix 開發的一樣。

現有 Storm 無法滿足一些需求

現有 storm 調度太簡單粗暴,無法定制化

Storm 任務分配不平衡

RPC OOM 一直沒有解決

監控太簡單

對 ZK 訪問頻繁

JStorm 相比 Storm 更穩定

Nimbus 實現 HA:當一臺 nimbus 掛了,自動熱切到備份 nimbus

原生 Storm RPC:Zeromq 使用堆外內存,導致 OS 內存不夠,Netty 導致 OOM;JStorm 底層 RPC 采用 netty + disruptor 保證發送速度和接受速度是匹配的

新上線的任務不會沖擊老的任務:新調度從 cpu,memory,disk,net 四個角度對任務進行分配,已經分配好的新任務,無需去搶占老任務的 cpu,memory,disk 和 net

Supervisor 主線

Spout/Bolt 的 open/prepar

所有 IO, 序列化,反序列化

減少對 ZK 的訪問量:去掉大量無用的 watch;task 的心跳時間延長一倍;Task 心跳檢測無需全 ZK 掃描。

JStorm 相比 Storm 調度更強大

徹底解決了 storm 任務分配不均衡問題

從 4 個維度進行任務分配:CPU、Memory、Disk、Net

默認一個 task,一個 cpu slot。當 task 消耗更多的 cpu 時,可以申請更多 cpu slot

默認一個 task,一個 memory slot。當 task 需要更多內存時,可以申請更多內存 slot

默認 task,不申請 disk slot。當 task 磁盤 IO 較重時,可以申請 disk slot

可以強制某個 component 的 task 運行在不同的節點上

可以強制 topology 運行在單獨一個節點上

可以自定義任務分配,提前預約任務分配到哪臺機器上,哪個端口,多少個 cpu slot,多少內存,是否申請磁盤

可以預約上一次成功運行時的任務分配,上次 task 分配了什么資源,這次還是使用這些資源

JStorm 相比 Storm 性能更好

JStorm 0.9.0 性能非常的好,使用 netty 時單 worker 發送最大速度為 11 萬 QPS,使用 zeromq 時,最大速度為 12 萬 QPS。

JStorm 0.9.0 在使用 Netty 的情況下,比 Storm 0.9.0 使用 netty 情況下,快 10%,并且 JStorm netty 是穩定的而 Storm 的 Netty 是不穩定的

在使用 ZeroMQ 的情況下,JStorm 0.9.0 比 Storm 0.9.0 快 30%

性能提升的原因:

Zeromq 減少一次內存拷貝

增加反序列化線程

重寫采樣代碼,大幅減少采樣影響

優化 ack 代碼

優化緩沖 map 性能

Java 比 clojure 更底層

JStorm 的其他優化點

資源隔離。不同部門,使用不同的組名,每個組有自己的 Quato;不同組的資源隔離;采用 cgroups 硬隔離

Classloader。解決應用的類和 Jstorm 的類發生沖突,應用的類在自己的類空間中

Task 內部異步化。Worker 內部全流水線模式,Spout nextTuple 和 ack/fail 運行在不同線程

關于  Storm 和 JStorm 該如何理解就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-16發表,共計1465字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 新郑市| 中西区| 柳州市| 达州市| 观塘区| 赤壁市| 南江县| 万年县| 西丰县| 特克斯县| 徐汇区| 堆龙德庆县| 涿鹿县| 佛冈县| 亳州市| 萨迦县| 昌黎县| 上虞市| 连山| 曲阜市| 宜都市| 灵武市| 楚雄市| 苍梧县| 平安县| 嘉黎县| 长泰县| 泰和县| 汽车| 全椒县| 渭源县| 湄潭县| 镇原县| 江津市| 上高县| 扶余县| 吴堡县| 永德县| 芒康县| 九龙城区| 清原|