类似的东西的目的 forever 是让你的节点应用程序一直运行(如果它应该崩溃)。
forever
这与这两个包做或不做的几乎是分开的。它们在您的节点应用程序中运行如果您希望它们一直运行,那么您需要将它们用于始终运行的节点应用程序中。
您可以编写一个不会崩溃的坚如磐石的节点应用程序,以便它可以持续运行,或者您可以尝试执行此操作并运行类似于永久的操作,这样,如果您的应用程序死亡,将永远自动重新启动它。
这些包是否使node.js始终订阅kafka? 或者我需要像ever或pm2这样的包来实现这一目标吗?
没有。 forever 和 pm2 对卡夫卡做什么或不做什么都没有影响。他们只是确保您的应用程序因某些原因崩溃或退出时重新启动。
pm2
如果你正在使用kafka API的消费者方面,那么你将不得不做一些研究和测试,看看这个库有多好保持你一直保持联系,即使你连接的服务器暂时重新启动或有一个临时的互联网故障。
从我所知道的代码来看 这个实现 ,如果在打开的连接上出现错误,则连接刚刚关闭且没有重新连接逻辑,因此您可能必须通过订阅任何一个来编写重新连接逻辑 error 要么 close 事件,然后在连接丢失时尝试重新连接。
error
close