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

相关文章
|
7月前
|
SQL 分布式计算 Apache
Apache Hudi 0.12.0版本重磅发布!
Apache Hudi 0.12.0版本重磅发布!
126 2
|
7月前
|
分布式计算 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 全托管版本的重大功能变更和主要缺陷修复。
761 0
|
Dragonfly 人工智能 Kubernetes
Dragonfly 最新正式版本 v2.0.9 已经发布!
Dragonfly 最新正式版本 v2.0.9 已经发布!
Dragonfly 最新正式版本 v2.0.9 已经发布!
EMQ
|
存储 消息中间件 NoSQL
EMQX Enterprise 新版本发布:新增 Apache IoTDB 支持、HStreamDB 最新版以及 MongoDB 6.0 适配
本次发布增加了Apache IoTDB集成支持以满足工业制造海量数据存储与分析的需求,同时对最新版本的HStreamDB(v0.14.0)和MongoDB(v6.0)进行了适配,用户可以根据业务需要轻松与相应的第三方数据库对接。
EMQ
303 0
EMQX Enterprise 新版本发布:新增 Apache IoTDB 支持、HStreamDB 最新版以及 MongoDB 6.0 适配
|
Dragonfly 人工智能 Kubernetes
Dragonfly 最新版本 v2.0.9 发布
Dragonfly 最新正式版本 v2.0.9 已经发布!感谢 Dragonfly 的贡献者们,同时也感谢默默支持 Dragonfly 项目的各个公有云团队。欢迎访问 d7y.io[1] 网站来了解详情,下面具体介绍 v2.0.9 版本带来了那些更新。
Dragonfly 最新版本 v2.0.9 发布
|
SQL 消息中间件 Kafka
Flink1.7稳定版发布:新增功能为企业生产带来哪些好处
Flink1.7稳定版发布:新增功能为企业生产带来哪些好处
287 0
|
消息中间件 NoSQL 安全