我正在开发一个风暴拓扑,我需要为不同的客户端位置构建多个拓扑。
我有一台Kafka服务器生成需要到达远程客户端机器的数据(在螺栓中进行一些转换之后)。这些客户大约有1000个。 当Kafka中产生新数据时,客户需要在几分钟内获得该数据。 需要进行一些转换(可以通过螺栓处理),并通过websocket将数据发送到远程客户端。
例如:Kafka服务器 - >卡夫卡喷口 - >螺栓1 - > bolt2 - > bolt3 - > websocket(在客户机上) 我有1000台客户端机器。
我希望可以为每个客户端动态创建此拓扑。当客户端准备就绪时,他们可以启动此拓扑并开始读取数据吗? 或者可以在风暴上创建这些拓扑(其中1000个)并准备发送数据吗?
这种架构可以与Storm一起使用吗? 这有多高效? Storm设置是否可管理?
感谢您的回复。
答案 0 :(得分:0)
为每个客户端设置拓扑不是处理问题的标准方法。由于每个客户端的数据处理需求相同,因此更常规的方法是使用单个拓扑从输入队列(通常是Kafka)读取,执行处理,然后向客户端报告。
您专门为每个客户端动态创建拓扑。这当然是可能的,但考虑到我对你要做的事情的了解,我认为没有必要。