JStorm 2.2.1 版本正式发布

简介:

Jstorm 2.2.1 目前已正式发布,用户可以自行前往https://github.com/alibaba/jstorm/wiki/Downloads 下载体验。

性能优化

对比2.1.1和去年的双十一版本0.9.8.1有200%~300%的提升。在高并发和低并发的多个测试场景(word count)中,是Flink性能的120%~200%,是Storm的300%~400%。

JStorm主要从以下几个方面对性能进行优化。

  1. 重构batch的实现方案
  2. 优化序列化和反序列过程,减少cpu和网络消耗
  3. 优化消息关键路径和metrics的cpu开销
  4. 优化网络接收和发送端的处理策略
  5. 增加disruptorQueue的异步batch操作

众多新特性支持

  1. 加入新的snapshot exactly once(只处理一次)框架。
    • 对比原有的Trident解决方案有着数倍的性能提升。同时可以减少用户在回滚的过程中的处理逻辑。
    • 同时支持at least once(至少处理一次场景)。对比原有的acker机制,可以减少acker的消息处理开销,同时在高吞吐的场景中可以大量的减少acker消息占用的网络带宽。以提高任务性能。
  2. 完成JStorm on yarn支持。
    • 现在JStorm可以实现快速的集群部署,以及集群的扩容和缩容。有效的提高集群资源的弹性和利用率。
      3, 重构backpressure设计,支持stage by stage的流控模式。
    • 当前的设计更加轻量,让backpressure在流控开启和关闭时更加高效。
    • 性能和稳定性对比原因的方案有着很大的提升。
  3. 引入Window API。
    • 支持tumbling window,sliding window
    • 对应的window支持count和duration 模式
    • 支持window的watermark机制
  4. 引入对Flux的支持
    • Flux是帮助创建和部署storm拓扑的编程框架及通用组件。帮助用户更方便创建及部署JStorm流式计算拓扑的编程框架
  5. 通过maven shade的方式,对一些容易冲突的依赖包做shade。以解决jstorm依赖和用户依赖之前的冲突问题。
  6. 优化Shuffle grouping方案
    • 合并shuffle, localOrShuffle和localFirst。根据任务情况自动适配。
    • shuffle时会根据下游节点的负载情况,做shuffle。以达到负载均衡。
  7. 增加Nimbus的黑名单机制。
  8. 增加Trident对消息batch模式的支持
  9. 支持集群的全局配置推送
  10. supervisor info和心跳中增加了buildTs,便于区分出集群中是否存在不同版本的supervisor
  11. nimbus和supervisor通过ext模块来支持外部插件
  12. 添加elastic search 5.11的支持, 感谢 @elloray 的PR

众多改进

  1. 重构nimbus metrics 框架,将原TopologyMetricsRunnable打散成事件驱动
  2. 重构Topology master的处理逻辑。改为事件驱动。提高Topology的处理性能。
  3. 重构example 代码, 增加大量example和测试用例
  4. 默认禁用stream metrics以及其他特定metrics,以减少发送的数据量
  5. 本地模式下启用metrics
  6. gauge的实现,由每分钟单值,改为每分钟采样多次计算平均值
  7. 引入了一种近似计算的方式来计算histogram的值,以减少内存开销
  8. 增加了Full GC以及supervisor中网络相关的metrics

Bug 修复

  1. Fix 消息的乱序问题
  2. Fix supervisor上有大量的zookeeper连接的问题
  3. Fix task初始化时,deactivate的错误调用
  4. Fix spout并发高时,少量消息rootid重复,导致消息失败的问题。
  5. Fix 本地模式的一些bug
  6. Fix logwriter的bug
  7. 修复了task metrics中RecvTps, ProcessLatency没有合并到task的bug
  8. 修复了AsmCounter在flush时的线程同步问题

企业级互联网架构Aliware,让您的业务能力云化:https://www.aliyun.com/aliware

相关文章
|
6月前
|
SQL 分布式计算 Apache
Apache Hudi 0.12.0版本重磅发布!
Apache Hudi 0.12.0版本重磅发布!
126 2
|
6月前
|
分布式计算 Apache Spark
Apache Hudi 0.13.0版本重磅发布!
Apache Hudi 0.13.0版本重磅发布!
191 2
|
Dragonfly 人工智能 安全
Dragonfly 发布 v2.1.0 版本!
Dragonfly 最新正式版本 v2.1.0 已经发布! 欢迎使用!
Dragonfly 发布 v2.1.0 版本!
|
SQL 存储 JSON
ClickHouse 23.7 版本发布说明
本文描述了部分特别值得我们重点关注的新功能。但值得注意的是,现在有几个功能已经在生产环境就绪,或处于默认启用的状态。您可以在这篇文章的末尾找到它们。
|
NoSQL 关系型数据库 MongoDB
版本发布|实时计算 Flink 版(2023-08-21 版本)
本文为您介绍 2023 年 8 月 21 日发布的 Flink 全托管版本的重大功能变更和主要缺陷修复。
760 0
|
Dragonfly 人工智能 Kubernetes
Dragonfly 最新正式版本 v2.0.9 已经发布!
Dragonfly 最新正式版本 v2.0.9 已经发布!
Dragonfly 最新正式版本 v2.0.9 已经发布!
|
SQL 消息中间件 Kafka
Flink1.7稳定版发布:新增功能为企业生产带来哪些好处
Flink1.7稳定版发布:新增功能为企业生产带来哪些好处
287 0
|
消息中间件 NoSQL 安全
|
SQL 数据可视化 搜索推荐
Superset 1.0.1发布——稳定版本
Apache Superset最近发布了1.0.1版本,这也是1.0版本后的有一个重大的版本,Superset也会在以后有更多的改进。那么让我们来看一下最新的新功能吧。
489 0
Superset 1.0.1发布——稳定版本
|
SQL Rust 供应链
都在这儿了!5月 Flink 社区发版、更新汇总
为 Flink 1.11 热身,然后回溯 Flink 社区的四月份——发布了 Statful Functions 2.0、一个新的自定进度的 Flink 培训以及一些旨在改善 Flink 文档体验的工作。
都在这儿了!5月 Flink 社区发版、更新汇总
下一篇
无影云桌面