Apache storm 实现多风暴拓扑

Apache storm 实现多风暴拓扑,apache-storm,Apache Storm,我正在研究storm拓扑,需要为不同的客户端位置构建多个拓扑 我有一个Kafka服务器,它生成需要到达远程客户端机器的数据(在服务器中进行一些转换之后)。其中大约有1000名客户。 当卡夫卡中产生了新数据时,客户需要在几分钟内获得这些数据。 需要进行一些转换(可以通过螺栓处理),数据通过websocket发送到远程客户端 e、 g:Kafka服务器->Kafka喷口->Bolt1->bolt2->bolt3->websocket(在客户端机器上) 我有1000台客户机 我希望这种拓扑结构可以为每

我正在研究storm拓扑,需要为不同的客户端位置构建多个拓扑

我有一个Kafka服务器,它生成需要到达远程客户端机器的数据(在服务器中进行一些转换之后)。其中大约有1000名客户。 当卡夫卡中产生了新数据时,客户需要在几分钟内获得这些数据。 需要进行一些转换(可以通过螺栓处理),数据通过websocket发送到远程客户端

e、 g:Kafka服务器->Kafka喷口->Bolt1->bolt2->bolt3->websocket(在客户端机器上) 我有1000台客户机

我希望这种拓扑结构可以为每个客户端动态创建。当客户机准备就绪时,他们是否可以启动此拓扑并开始读取数据? 或者这些拓扑(1000个)可以在风暴中创建并准备好发送数据吗

这一架构在暴风雨中可能吗? 这有多高效? 风暴是否可以控制


感谢您的回复。

为每个客户端设置拓扑不是处理问题的标准方法。由于每个客户机的数据处理需求是相同的,因此更传统的方法是使用单个拓扑,从输入队列(通常是Kafka)读取数据,执行处理,然后向客户机报告


您特别需要为每个客户机动态创建拓扑。这当然是可能的,但考虑到我对您尝试执行的操作的理解,我认为没有必要这样做。

为每个客户端设置拓扑不是处理问题的标准方法。由于每个客户机的数据处理需求是相同的,因此更传统的方法是使用单个拓扑,从输入队列(通常是Kafka)读取数据,执行处理,然后向客户机报告


您特别需要为每个客户机动态创建拓扑。这当然是可能的,但鉴于我对您尝试执行的操作的理解,我认为没有必要这样做。

每个客户端都有自己的卡夫卡主题,还是所有客户端的卡夫卡主题都是相同的?您对每个元组的处理是相同的还是特定于客户端的?每个主题都适用于多个客户端位置。我的想法是,消息必须由一个螺栓(螺栓1)打开,查看位置信息,然后连接到相应的websocket位置以发送数据。@Doomy,每个元组的处理是相同的。每个客户端的数据格式都是相同的,但实际的daya可能不适用于每个客户端。我的拓扑结构可能如下所示:Kafka spout(1000个实例)->bolt1(100个实例)->bolt2(100个实例)->bolt3(1000个连接到1000个套接字)->websocket(1000个不同的远程服务器)每个客户端是否都有自己的Kafka主题,或者kafka主题对所有这些都是相同的?您对每个元组所做的处理是相同的还是特定于客户端?每个主题适用于多个客户端位置。我的想法是,消息必须由一个螺栓(螺栓1)打开,查看位置信息,然后连接到相应的websocket位置以发送数据。@Doomy,每个元组的处理是相同的。每个客户端的数据格式都是相同的,但实际的daya可能不适用于每个客户端。我的拓扑结构可能如下所示:Kafka spout(1000个实例)->bolt1(100个实例)->bolt2(100个实例)->bolt3(1000个连接到1000个套接字)->websocket(1000个不同的远程服务器)->谢谢!你能画一张拓扑图吗。我想发布一张我所想的照片,但我没有足够的声誉来添加一张。非常抱歉。如果你能发布你的想法,那就太好了!你已经布置好了拓扑的DAG,是吗?卡夫卡喷口->螺栓1->螺栓2->螺栓3->网箱。我不知道你在这里要什么。谢谢!你能画一张拓扑图吗。我想发布一张我所想的照片,但我没有足够的声誉来添加一张。非常抱歉。如果你能发布你的想法,那就太好了!你已经布置好了拓扑的DAG,是吗?卡夫卡喷口->螺栓1->螺栓2->螺栓3->网箱。我不知道你在这里要什么。