我对在一些项目中使用Node-RED非常感兴趣,但是有很强的架构背景,我总是认为可伸缩性和HA是第一位的。
我知道如果我们将流设计为“无状态”,Node-RED实例可以扩展,但我担心如果实例在流执行过程中死亡会发生什么。如果使用带有ACK超时的队列(如SQS ),可以减轻影响,但这会产生其他问题,比如必须实现每个步骤是幂等的。我真的很喜欢Apache NiFi的方法,即在每个步骤之前放置一个队列,如果实例死了,消息将在重启后进行处理。关于如何在Node-RED中做类似的事情,有什么想法吗?
发布于 2020-12-04 00:05:39
最近的版本添加了可插拔的连接API,它允许在节点之间传递消息的代码被换出。
这样做是为了解决这些类型的问题,并允许类似于分布式实例(例如,在不同主机上运行的节点)
为了正常工作,它确实需要更新所有节点,以便在它们处理完消息时发出信号。核心节点已经完成iirc,但仍然有大量的第三方节点需要更新。
https://stackoverflow.com/questions/65125784
复制相似问题