我有一个分布式视频分析系统,它由以下部分组成:
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 :(得分:3)
在Java中,您可以考虑使用RabbitMQ消息总线。有一个Java bindings的图书馆。
RabbitMQ基于经过验证的 平台,提供异常高 可靠性,可用性和 可扩展性以及良好的吞吐量 和延迟性能 可预测和一致的。它有一个 紧凑,易于维护的代码库 允许快速定制和热门 部署。有广泛的 管理,监测设施, 控制和调试,它是 全方位的支持 商业支持服务和 积极的社区开发包 扩展核心系统。