节点作为 Kafka 消费者
Node as Kafka consumer
我像这样搜索 Node 的软件包:https://www.npmjs.com/package/kafka and https://www.npmjs.com/package/no-kafka
我的问题是:这些包是否让 node.js 一直订阅 kafka?或者我需要一些像 forever 或 pm2 这样的包来实现吗?
类似 forever
的目的是让您的节点应用程序始终保持 运行ning(如果它崩溃)。
这与这两个包的作用或不作用完全不同。他们 运行 在您的节点应用程序中。如果您希望它们一直 运行,那么您需要将它们用于始终 运行ning 的节点应用程序。
您可以编写一个永远不会崩溃的坚如磐石的节点应用程序,因此它会持续 运行 或者您可以尝试这样做并且 运行 永远这样,如果您应用程序死了,永远会自动重启它。
Do these packages makes the node.js subscribe to kafka all the time?
or Do I need some packages like forever or pm2 to achieve that?
没有。 forever
和 pm2
对 kafka 做什么或不做什么没有影响。他们只是确保您的应用程序在因某种原因崩溃或退出时重新启动。
如果您使用的是 kafka 的消费者端 API,那么您将不得不进行一些研究和测试,以了解该库在让您始终保持连接方面有多好,即使服务器您正在连接到临时重新启动或存在临时互联网故障。
据我所知,查看 this implementation 的代码,如果打开的连接出现错误,则连接刚刚关闭并且没有重新连接逻辑,因此您可能必须编写重新连接逻辑通过订阅 error
或 close
事件,然后在连接丢失时尝试重新连接。
我像这样搜索 Node 的软件包:https://www.npmjs.com/package/kafka and https://www.npmjs.com/package/no-kafka
我的问题是:这些包是否让 node.js 一直订阅 kafka?或者我需要一些像 forever 或 pm2 这样的包来实现吗?
类似 forever
的目的是让您的节点应用程序始终保持 运行ning(如果它崩溃)。
这与这两个包的作用或不作用完全不同。他们 运行 在您的节点应用程序中。如果您希望它们一直 运行,那么您需要将它们用于始终 运行ning 的节点应用程序。
您可以编写一个永远不会崩溃的坚如磐石的节点应用程序,因此它会持续 运行 或者您可以尝试这样做并且 运行 永远这样,如果您应用程序死了,永远会自动重启它。
Do these packages makes the node.js subscribe to kafka all the time? or Do I need some packages like forever or pm2 to achieve that?
没有。 forever
和 pm2
对 kafka 做什么或不做什么没有影响。他们只是确保您的应用程序在因某种原因崩溃或退出时重新启动。
如果您使用的是 kafka 的消费者端 API,那么您将不得不进行一些研究和测试,以了解该库在让您始终保持连接方面有多好,即使服务器您正在连接到临时重新启动或存在临时互联网故障。
据我所知,查看 this implementation 的代码,如果打开的连接出现错误,则连接刚刚关闭并且没有重新连接逻辑,因此您可能必须编写重新连接逻辑通过订阅 error
或 close
事件,然后在连接丢失时尝试重新连接。