有两个mongo集群(正面和背面)。服务使用前端集群,后端集群正在使用新数据进行更新。它类似于图形中的双缓冲模式。
还有一个服务(其中包含webservice的tomcat实例)利用当前活动的集群。此服务应在切换过程中起作用。已经开始的工作单元应该使用单个集群来完成,以确保结果的一致性,并且所有新的工作单元都应该使用新的集群。
如何切换这些群集?可能有一些工具,实现它的库?
我可以设想两种方式:
mongos
)并通过该代理路由服务。代理使用其中一个集群。代理需要知道查询属于哪个工作单元。我想将requestId
分成两部分,一部分用于识别工作单元,另一部分用于识别该工作单元内的查询。此方法还需要修改服务以调整requestId
。MongoClient
实例和单个代理实现群集切换。还有其他建议吗?