在Openshift上模拟MongoDB复制集

我目前正在进行一个项目,我正在使用openshift作为paas。 基本上符合我的所有需求。 我有我的网站,我的静态和我的apinetworking服务器。

只有我的apinetworking服务器调用我的数据库

现在,我的数据库来了一个问题。 我正在使用mongodb。 问题是当前openshift中的replicaset是技术预览,不应该在生产中使用,因为它使用临时存储。 所以如果所有的节点都在下降,所有的数据都会丢失。

我们无法扩展到mongodb pod,因为它可能会导致多个写入操作并产生真正的问题。

所以我有一个想法,但我想知道你是否看到错误。

作为一个概括性的复制品是由以下组成的:一个主要=>这是唯一一个允许进行写入操作的次数多个次级=>确保读取动作任意=>目前我不关注它。

所以我的想法是模拟一个replicaset(它需要一些tweeks在我身边): – 创build一个mongodb的实例,将根据primary.db.example.com – 创build一个mongodb的实例,将根secondary.db。 example.com

两者都将指向相同的持久存储。

那么在我的api里:

  • 引用primary.db.example.com和secondary.db.example.com并相应地调用它们:
    • 如果我做一个写操作,我打电话:primary.db.example.com
    • 如果我进行读取操作,我正在调用secondary.db.example.com

通过这种方式,我将能够扩展二次读取操作。 如果主要的是倒下来的,那么Openshift会尝试重新创build这个吊舱(就像有一个新的小学选举一样)

我知道这不是最好的解决scheme,但这是目前唯一的解决scheme(除了创build外部副本,这意味着很多关于安全性,成本等问题)

您如何看待这个临时解决scheme(等待实际生产就绪的Opensift解决scheme)

问候