java - 关于Storm spout消息重发的问题
伊谢尔伦
伊谢尔伦 2017-04-17 16:00:24
[Java讨论组]
项目采用kafku + storm,  当kafka堆积数据过多,或消息生产数据量过大,bolt处理不过来,导致spout超时,消息重发
由于项目bolt处理是做统计数量用,虽然在处理时,一分钟内的重复数据会做处理,但消息过多时,spout超时很多,导致统计的数据大于实际数据(部分数据在一分钟后才处理)
解决方案如下:
  1.topology.max.spout.pending值减小,对于我的应用,取1000时,能处理目前生产峰值20倍数据
  2.将原先一分钟处理重复消息的时间放大
  3.加大bolt处理的线程数
  4.将spout超时时间取消(但无法统计或告警fail的数量)


但这个还是不能根本上解决问题,目前应用可能要接入日志系统,消息量会是原先数据量的几十倍甚至几百倍,最后统计可能会出现严重的误差,有朋友能给个更好的解决方案么
伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号