Storm程序的mysql连接问题及可行的处理方式

最近遇到的连接问题我准备从重构的几个程序(redis和mysql)长连接和短连接,以及连接池和单连接等问题用几篇博客来总结下。这是最后一篇。

Storm程序因为有他本身框架的组合方式,只有再要输出的bolt创建jdbc对象(看起来和redis和hbase没什么区别)。但实际上却有不少的坑(有些坑我现在都没明白,只能说根据经验规避),最后两点体会:

尽量不要再storm程序中用mysql。

尽量减少storm程序中创建jdbc连接的bolt。


应用场景3
storm程序,某些bolt结尾,会产生mysql的数据输出。

这是重构的程序,因为根据更改的需求需要增加mysql输出。开始没有考虑新增bolt,直接在bolt的通用方法中给每个bolt创建了一个jdbc对象,这一方法逻辑上是没问题的,当topology流bolt数目小于8个时候也没有问题。但当bolt数目大于8个时候,会只提交8个bolt(无论是本地调试还是集群测试均如此)。        

后面采用新增mysql的存储bolt,并放在程序背后进行判断,问题解决。但也产生了上面两点体会。


最后总结

storm中尽量减少多种存储方式同时出现,如果不能减少,尽量交给不同bolt。同时通过逻辑减少这些存储的操作和连接。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值