gpt4 book ai didi

apache-nifi - Flowfiles 如何分布在集群节点上?

转载 作者:行者123 更新时间:2023-12-05 08:57:13 24 4
gpt4 key购买 nike

例如,如果我有一个指定为隔离的 GetFile 处理器,那么来自该处理器的流文件如何分布在集群节点上?

是否需要添加任何额外的工作/处理器?

最佳答案

在今天的 Apache NiFi 中,跨集群的负载平衡问题有两个主要答案。首先,您必须首先考虑数据如何到达集群。其次,一旦它进入集群,您是否需要重新平衡。

要将数据导入集群,请务必选择本身具有可扩展性的协议(protocol)。提供排队语义的协议(protocol)对此有好处,而不提供排队语义的协议(protocol)是有问题的。作为队列语义的一个例子,可以考虑 JMS 队列或 Kafka 或一些 HTTP API。这些很棒,因为一个或多个客户端可以以队列方式从它们中拉出,从而分散负载。不提供此类行为的协议(protocol)的一个示例是 GetFile 或 GetSFTP 等。这些都是有问题的,因为客户端必须共享关于他们看到要提取哪些数据的状态。为了解决这些协议(protocol),我们已经转移到“ListSFTP”和“FetchSFTP”模型,其中 ListSFTP 出现在集群中的一个节点(主节点)上,然后它使用 NiFi 的站点到站点功能来负载平衡到集群的其余部分然后每个节点获得其工作份额并执行 FetchSFTP 以实际提取数据。现在也为 HDFS 提供了相同的模式。

在描述该模式时,我还提到了站点到站点。这就是两个 nifi 集群可以共享数据的方式,这对于站点间和站点内分发需求非常有用。它也适用于在同一集群内分散负载。为此,您只需将数据发送到同一个集群,然后 NiFi 会负责负载平衡和故障转移以及新节点和已删除节点的检测。

所以已经有很好的选择了。也就是说,我们可以做更多的事情,将来我们计划为您提供一种方法,让您在连接上指示它应该自动负载平衡,然后它将在幕后执行我所描述的操作。

谢谢乔

关于apache-nifi - Flowfiles 如何分布在集群节点上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34902909/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com