【发布时间】:2011-10-26 11:03:57
【问题描述】:
考虑以下场景:
3 个 EC2 实例位于:
- 美国西部
- 爱尔兰
- 东京
每个实例都是一个专用的 CouchDB 服务器。每个 CouchDB 服务器都设置为与其他所有服务器(双向)运行连续复制。
现在假设爱尔兰服务器由于某些 AWS 中断而离线。 US-WEST 和 Tokyo CouchDB 服务器将重试 X 次,然后最终与该服务器的复制失败(这是正确的吗?)
假设 6 小时过去了,AWS 使该区域重新上线,并且该服务器恢复正常 - 我假设 US-WEST 和东京将忽略爱尔兰的服务器直到爱尔兰 CouchDB 服务器重新- 启动与它们的双向同步,a la:
爱尔兰 CouchDB _replicator 伪设置
- 复制[source=localhost,target=us-west]
- 复制[source=us-west,target=localhost]
- 复制[source=localhost,target=tokyo]
- 复制[source=tokyo,target=localhost]
Q1:我对 Couch 的复制失败/恢复的理解是否正确?
Q2:如果网络故障在一小时后自行修复(具体而言:没有服务器重启迫使数据库在启动时重新初始化),各个 CouchDB 实例对此有何反应?我想 us-west 和 tokyo 会忘记爱尔兰,但爱尔兰会突然开始再次与这两台服务器对话,重新初始化双向连续复制吗?
我对 EC2 环境中的故障恢复特别感兴趣,所以如果我遗漏了该环境的特定细节,请告诉我。
谢谢!
【问题讨论】:
标签: amazon-ec2 couchdb amazon-web-services replication recovery