Nic*_*500 5 solrcloud apache-zookeeper
我正在开发一个全新的SolrCloud - ZooKeeper基础设施。
一些背景信息:
我有一个 SolrCloud 和一个正在运行的 ZooKeeper 整体。在这个级别上的实施是好的。
但我想知道如何分发我的 ZooKeeper 服务器。我必须有奇数台服务器,但我只有两个数据中心。如果失败,我有 50-50 的机会失去多数席位。
我应该怎么办?到目前为止我已经想到:
请求第三个数据中心(不太可能发生,$$$!)
每个数据中心托管两个,外部云提供商(亚马逊或......?)上托管两个。再次$$$
在数据中心 1 设置奇数并在站点 2 使用观察者。如果站点 1 出现故障,会发生什么情况?SolrCloud 只能与一个观察者一起工作吗?
我有第三个站点来托管另一个 ZooKeeper 实例。该站点是我公司的另一个办公室,而不是“完整的数据中心”。因此每个站点都有一个 ZooKeeper 实例。
我之所以能够将一个集群分布在三个数据中心,是因为它们距离足够近,可以在它们之间建立暗光纤。延迟非常低,不会影响 ZooKeeper 的性能。
然后对于 Solr,我在两个主要数据中心上获得了完整副本。第三个办公室仅托管一个用于仲裁的 ZooKeeper。使用完整副本,我拥有每个数据中心中的所有数据。如果我的 Solr 以后需要增加,我会分片,但现在我们的索引很小。
四年来,它已经被证明是可靠的,只有一次失败。它位于第三个办公室,而不是数据中心。