2010-01-14 92 views
3

我具有分布式视频分析系统,该系统由以下组成:消息传递和在分布式系统中的信令

1. feature extraction: generated lots of features(20+) from each frame of the video 
2. multiple detectors(in different machine): 
    * Each of them will get a subset of feature 
    * Each of them needs the features from multiple frames. 
    * Eg. Detector 1 needs feature 1-5 from 3 frames to start processing; Detector 2 needs feature 2-8 from 8 frames to start processing 

我的问题是:如何做特征提取块和多个检测器之间的通信,优选在实-时间?我一直在寻找一个事件总线,但只有一个过程,Hadoop中的ZooKeeper会是一个更好的解决方案吗?

我正在使用Java。欢迎任何建议。

+0

功能中有多少数据?像每个功能8个字节?如果您的数据非常少,则可以执行许多简单的操作,例如将所有功能广播到所有检测器。 – 2010-01-15 19:00:21

回答

3

在Java中,您可以考虑使用RabbitMQ消息总线。有一个图书馆Java bindings

的RabbitMQ是基于经过验证的 平台,可提供极高的 的可靠性,可用性和良好的吞吐量 和延迟性能是 可预见的和一致的沿 的可扩展性。它有一个小巧,易于维护的代码库 ,允许快速定制和部署热点 。有广泛的 设施管理,监测, 控制和调试,它是 支持全系列的 商业支持服务和 活跃社区开发包 扩展核心系统。

+0

谢谢jldupont,它似乎许可证不适合公司使用... – Lily 2010-01-15 04:05:48

+1

许可证是Mozilla公共许可证,是吗?如果是这样,它应该是公司使用许可的许可证。 – 2010-01-15 18:58:04

+0

兔子的事件并不真实。它不像大多数人所期望的那样高度可用 - 队列分布在多台机器上,以承受节点故障。其集群设计用于在重负载下提高*速度,但不会使其更具可用性。 – drewr 2010-09-02 16:15:08