重新思考集群环境下的nodejs容器



rethinkdb和nodejs+express app适合集群环境的容器??

下面是docker容器中的情况1. 在一个容器中运行rethinkdb和nodejs +express2. 在启动nodejs应用程序时,它会检查是否存在特定的数据库和表。如果没有,则创建数据库和表

在一个docker容器中运行很好。但问题是,我们需要对rethinkdb进行集群化,并维护表的特定数量的副本。

把所有这些集群和副本逻辑放在nodejs应用程序中似乎不是个好主意。有点卡住了,我该怎么继续。非常感谢您的帮助

在一个容器中运行rethinkdb和nodejs +express应用

通常不应该这样做。将rethinkdb放在它自己的容器中,并将应用程序放在单独的容器中。

我建议您使用docker-compose并为您的服务设置docker-compose.yml文件。确保在web应用程序声明中使用depends_on属性,以便docker将在应用程序容器之前启动rethinkdb容器。

如果你正在手动旋转你的RethinkDB容器,你应该完全设置,但如果你正在使用Swarm或其他调度器,继续阅读

RethinkDB目前在自动化/调度/容器化环境中遇到的一个问题是容器的短暂性以及它们可能重新启动并使用不同的IP地址返回的可能性。这需要围绕RethinkDB的一些额外工具来修改配置表。

如果需要阅读,我建议您查看一下Kubernetes是如何实现的

最新更新