运行 分片集群的 mongos 客户端的正确方法是什么?
What's the proper way of running a mongos client for a sharded cluster?
我有一个 mongodb 集群正在运行 运行ning。我想设置一个客户端 (mongos) 以连接到来自 ubuntu 的配置服务器。大多数说明只是对 运行 这个命令说:
mongos --configdb cfg0.example.net:27019,cfg1.example.net:27019,cfg2.example.net:27019
这个命令运行是服务吗?当我退出 shell 时,进程是否仍然是 运行ning?如果进程宕机会怎样? 运行将该客户端作为服务的正确方法是什么?
您可以使用 --fork
或 init
脚本来关闭此 运行 作为服务的 post 终端会话。
如果进程停止,则您的应用程序无法连接到分片集。它将根本无法连接到您的数据库。这就是(不是唯一的原因)为什么你应该在 mongos
实例中有良好的冗余。
我个人倾向于每个应用程序服务器有一个 mongos
,但是,这完全取决于偏好。另一种选择是拥有一组负载平衡的 mongos
个实例。
我有一个 mongodb 集群正在运行 运行ning。我想设置一个客户端 (mongos) 以连接到来自 ubuntu 的配置服务器。大多数说明只是对 运行 这个命令说:
mongos --configdb cfg0.example.net:27019,cfg1.example.net:27019,cfg2.example.net:27019
这个命令运行是服务吗?当我退出 shell 时,进程是否仍然是 运行ning?如果进程宕机会怎样? 运行将该客户端作为服务的正确方法是什么?
您可以使用 --fork
或 init
脚本来关闭此 运行 作为服务的 post 终端会话。
如果进程停止,则您的应用程序无法连接到分片集。它将根本无法连接到您的数据库。这就是(不是唯一的原因)为什么你应该在 mongos
实例中有良好的冗余。
我个人倾向于每个应用程序服务器有一个 mongos
,但是,这完全取决于偏好。另一种选择是拥有一组负载平衡的 mongos
个实例。