风暴拓扑:多对一

fwzugrvs  于 2021-06-21  发布在  Storm
关注(0)|答案(1)|浏览(297)

设备将向azure eventhub发送多条消息(仍未决定)。每个消息都有不同的格式和内容(尽管需要不同的处理)。每条消息都将包含一个唯一的serviceid,标识消息的类型。
我们现在想到了两种情况如何处理。
a) 1。喷口将接收味精,并将其传递给parserbolt 2。parserbolt将读取serviceid并基于该id将其传递给另一个bolt
在这种情况下,每个消息(基于serviceid)将通过拓扑中的不同路径。所有消息都可以由一个拓扑处理。
b) 1。多个拓扑-每个serviceid一个。2喷口将接收味精并将其传递给螺栓3。bolt将读取serviceid-如果serviceid正确,则将其传递给下一个bolt,如果serviceid不正确,则将取消此作业
因为storm保证每个消息至少被处理一次,所以每个消息都会在某个点到达正确的拓扑结构。但是拓扑结构会忽略很多原本不适合它们的消息。

sycxhyv7

sycxhyv71#

如果你不能在storm之外分割你的输入流,你应该使用单一的拓扑结构。这将节省大量的网络流量和不必要的数据复制。

相关问题