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


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

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

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!