Node.js 发送到当前已关闭的节点化输出节点的数据会发生什么情况?

Node.js 发送到当前已关闭的节点化输出节点的数据会发生什么情况?,node.js,apache-kafka,mqtt,node-red,Node.js,Apache Kafka,Mqtt,Node Red,我目前正在节点RED上实现一个流,其中MQTT订户节点将数据发送到kafka生产者节点,即节点RED上的输出节点 如果远程Kafka关闭时Kafka生产者节点无法发送数据,则从MQTT订户节点推送到Kafka生产者节点的数据会发生什么情况 我不能失去一个数据集。这将取决于Kafka producer节点的编写方式,但在快速查看了it接缝后,只需记录错误,并在向Kafka发送消息时将其丢弃 节点RED中没有内置重试/排队功能,因此必须将其添加到给定的输出节点。问题在于确定应该保存什么以及保存多长时

我目前正在节点RED上实现一个流,其中MQTT订户节点将数据发送到kafka生产者节点,即节点RED上的输出节点

如果远程Kafka关闭时Kafka生产者节点无法发送数据,则从MQTT订户节点推送到Kafka生产者节点的数据会发生什么情况


我不能失去一个数据集。

这将取决于Kafka producer节点的编写方式,但在快速查看了it接缝后,只需记录错误,并在向Kafka发送消息时将其丢弃


节点RED中没有内置重试/排队功能,因此必须将其添加到给定的输出节点。问题在于确定应该保存什么以及保存多长时间,应该将其存储在磁盘或内存中…

这将取决于Kafka producer节点是如何编写的,但是在快速查看了it接缝后,只需记录一个错误,并在向Kafka发送消息时将其丢弃


节点RED中没有内置重试/排队功能,因此必须将其添加到给定的输出节点。解决问题的方法是确定应该保存什么以及保存多长时间,应该将其存储在磁盘或内存中…

通过放置一个“Catch”节点来解决问题,该节点捕获kafka producer节点抛出的错误(如果远程集群不可用,它也会抛出数据并伴有错误)。然后可以提取数据并尝试再次将其发送到新群集。

通过放置一个“Catch”节点来解决此问题,该节点捕获kafka producer节点抛出的错误(如果远程群集不可用,它也会抛出该错误的数据)。然后可以提取数据并尝试再次将其发送到新群集。

我使用的是多群集远程kafka。用例是,一旦一个集群关闭,我的节点redflow立即切换到另一个集群,但我担心切换过程中的数据丢失。有什么办法可以解决这个问题吗?没有,如果卡夫卡除了记录错误之外什么都不做,那就什么都做不了了。原始有效负载甚至没有随错误一起传递,因此无法使用Catch节点重试。您对解决此问题有何建议?将数据存储在内存缓存中的中间层并尝试发送,如果发现错误,则尝试将数据推送到另一个群集上?或者任何解决方法,在挡块中应该有什么?缓冲区和重试是有风险的,因为如果kafka群集需要时间才能启动,那么在这种情况下,缓冲区将溢出数据。我使用的是多群集远程kafka。用例是,一旦一个集群关闭,我的节点redflow立即切换到另一个集群,但我担心切换过程中的数据丢失。有什么办法可以解决这个问题吗?没有,如果卡夫卡除了记录错误之外什么都不做,那就什么都做不了了。原始有效负载甚至没有随错误一起传递,因此无法使用Catch节点重试。您对解决此问题有何建议?将数据存储在内存缓存中的中间层并尝试发送,如果发现错误,则尝试将数据推送到另一个群集上?或者任何解决方法,在挡块中应该有什么?缓冲区和重试是有风险的,因为如果kafka集群需要时间才能出现,那么在这种情况下,缓冲区将溢出数据。