加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java – Storm和Spring 4集成

发布时间:2020-12-15 01:48:52 所属栏目:大数据 来源:网络整理
导读:我有一个原型风暴应用程序,它读取STOMP流并将输出存储在HBase上.它有效,但不是很灵活,我试图以与我们的其他应用程序更一致的方式设置它,但没有太多运气搞清楚当前使用Storm的方式.我们使用spring-jms类,但不是以标准spring方式使用它们,而是在运行时创建它们

我有一个原型风暴应用程序,它读取STOMP流并将输出存储在HBase上.它有效,但不是很灵活,我试图以与我们的其他应用程序更一致的方式设置它,但没有太多运气搞清楚当前使用Storm的方式.我们使用spring-jms类,但不是以标准spring方式使用它们,而是在运行时创建它们,并手动设置依赖项.

这个项目:https://github.com/granthenke/storm-spring看起来很有前景,但由于风暴罐被带入apache孵化器并重新包装,因此几年内没有被触及并且没有正确构建.

有没有我想念的东西,或者将这些东西整合在一起是不值得的?

最佳答案
事实上,风暴春天似乎是你正在寻找的,但它没有更新,并有限制(例如,不能在螺栓/喷口上定义任务等).也许你应该推动自己的整合?

不要忘记你的目标:一个拥有许多工人的集群.当您在另一个工作人员上使用storm api(例如,重新平衡)部署拓扑时,spring的行为如何?是否意味着在Storm部署目标螺栓/喷口并定义执行程序之前,必须在启动时在工作者JVM上实现新的Spring上下文?

恕我直言,如果你只在Spring配置中定义Storm组件它应该工作(拓扑的启动配置然后风暴只管理对象)但是如果你依靠Spring来管理其他组件(对于spring-jms来说似乎如此),那么它可以例如,在拓扑重新平衡上变得混乱(每个worker / jvm单身?还是整个拓扑?).

由你来决定是否值得这么麻烦,我对Spring配置的关注是你很容易忘记风暴拓扑(它似乎是一个JVM,但可以更多).我个人每个类加载器定义自己的单例(例如静态final或者如果我需要延迟instanciation,则使用双重检查锁定),因为它不会隐藏(中高)复杂性.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读