我是Storm的新手,一直在探索其功能以符合我们的CEP要求。我偶然发现的不同例子通过消息代理,数据库实现轮询服务。如何实现基于推送的喷口,即在喷口内运行的Thrift服务器?我应该如何让我的客户知道我的喷嘴正在运行的位置,以便他们能够推送数据?推式风暴水龙头
Q
推式风暴水龙头
2
A
回答
4
喷嘴的设计和打算投票,所以你不能推动他们。但是,许多人所做的就是使用像Redis,Thrift或Kafka这样的服务作为服务,您可以将消息推送给消费者,然后您的消费者就可以对消息进行轮询。
1
控制你在哪里和什么时候喷口运行是有限的,所以有外部过程直接与喷口进行通信有点麻烦。这当然是可能的,但这不是最简单的解决方案。
标准解决方案是将消息推送到某个外部消息队列,让您的喷口轮询该消息队列。
有一些做的正是这个常用消息队列服务,如卡夫卡,红隼和JMS,在storm-contrib
0
我没有一大堆的经验,无论是风暴或卡夫卡喷口实现/一般而言,红隼或CEP,但我正在寻找类似的解决方案 - 推动风暴喷口。如何使用事件源和Storm群集之间的负载平衡器?对于将rsyslog中的系统日志消息推送到Storm的用例,负载均衡器可以跟踪Storm节点正在运行的侦听节点,哪些节点正在运行,并根据不同的参数分配传入的负载。我不太愿意在来源和喷口之间引入另一层,如消息总线。
编辑:我读了你的博客并总结说,如果一个聆听鲸鱼嘴的唯一问题是一个消息来源如何找到它,那么消息总线可能是错误的答案。基于简单的网络状态或更高级别的应用程序逻辑,在接收器上引导网络流量有更简单/更好的解决方案。但是,是的,如果你想使用所有额外的消息总线功能,那么显然卡夫卡/凯斯特雷尔将是不错的选择。
0
这不是Storm的典型用法,显然你不能将同一台机器上的多个喷口实例绑定到同一个端口。在分布式设置中,存储API的当前IP地址和端口是个好主意,例如到ZooKeeper,然后平衡器将请求转发到您的API。
下面是简单的REST API项目上的风暴:
相关问题
- 1. Heroku水龙头推奇怪
- 2. 减轻水龙头?
- 3. Android区分水龙头和双击水龙头
- 4. 可视化水龙头视图,显示水龙头指示器
- 5. 龙卷风推发动机
- 6. ArXiv复制头脑风暴
- 7. 框架头脑风暴
- 8. view.removeFromSuperview()在很多水龙头
- 9. iOS UITapGestureRecognizer多个水龙头
- 10. 错误安装水龙头
- 11. 全景控制,水龙头
- 12. UIScrollView检测水龙头
- 13. SpriteKit水龙头缩放
- 14. FaceBook Connect。水龙头登录
- 15. UIGestureRecognizer水龙头和删除
- 16. 检测用户水龙头
- 17. CalendarView:区分水龙头
- 18. 模拟键盘水龙头
- 19. Iphone:UIWebview和双击水龙头
- 20. NFC水龙头计数器
- 21. 级联HBase水龙头
- 22. 水龙头宝石慢
- 23. 检测背景水龙头
- 24. MonoTouch.Dialog - 响应DetailDisclosureButton水龙头
- 25. 禁用水龙头缩放
- 26. iPhone计数手指水龙头和水龙头之间的时间
- 27. 是否有可能根据水龙头的位置创建一个水龙头?
- 28. 如何在使用水龙头关闭UIKeyboard时忽略所有UIControl水龙头
- 29. heroku数据库:推不工作,使用水龙头宝石
- 30. Heroku的DB:拉DB:推水龙头加载错误sqlite3的
为什么不让他们将数据推到一个队列作为@Gordon提到... N则u消耗和饲料,以乌尔嘴的消息.. 。像[风暴](https://github.com/nathanmarz/storm/wiki)等类似[Kakfka](http://kafka.apache.org/)的消息队列可以让你的生活更美好,我相信..你的要求究竟是什么? – user2720864