Tag: 高可用性

在2个独立的数据中心同步2个NodeJS实例和PostgresSQL

我们目前有一个NodeJS程序从套接字中收集数据,该套接字从一个其他服务发送实时信息。 然后这个数据被存储在上述实例中的数据库中。 这个过程只是听stream。 将对象parsing出来,然后用这些信息更新数据库。 另一个服务可以简单地从数据库中读取数据。 这是我们的用户对信息进行的调查。 我的问题是: 我如何确保这个代码的2个实例正在运行,并保持运行在2个独立的数据中心? 所以如果有一个实例出现故障,则只需开始更新数据库。 当我们修复另一个过程。 在这里,我在想: 正在考虑运行2个PosgresSQL服务器,每个数据中心一台。 在主和备用模式下运行。 这将使两个数据中心的Web服务能够从数据库中读取数据,但在主服务器还在运行时不会更新它。 给我唯一一个我想要的更新。 但另一个问题是如果NodeJS实例死亡。 那么我无法知道? 我可以实施一个心跳系统,但必须有一个更好的? 同时考虑运行带有队列的Rabbit MQ服务,但这给我一个单点故障。 一直在思考这一点,但似乎无法find一个可行的架构。 有什么build议?

升级Node.JS Web应用程序而不重新启动

有没有办法更改Node.JS应用程序的代码,而无需重新启动它。 例如,如果当时正在从服务器上下载文件,是否有办法升级服务器而不中断文件传输?