1

rethinkdb 和 nodejs+express 应用程序非常适合集群环境的容器?

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

在一个 docker 容器中运行可以正常工作。但问题是我们需要对 rethinkdb 进行集群以及维护表的特定数量的副本。

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

4

1 回答 1

0

在一个容器中运行 rethinkdb 和 nodjs+express 应用程序

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

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

如果您正在手动启动 RethinkDB 容器,则应该完全设置好,但如果您使用的是 Swarm 或其他调度程序,请继续阅读。

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

对于一些阅读,我建议查看这是如何在 Kubernetes 中实现的

于 2016-08-12T22:29:23.550 回答