Apache zookeeper ApacheZooKeeper:跨数据中心的节点分布

Apache zookeeper ApacheZooKeeper:跨数据中心的节点分布,apache-zookeeper,solrcloud,Apache Zookeeper,Solrcloud,我正在开发一个全新的SolrCloud-ZooKeeper基础设施 一些背景资料: 所有其他服务(主要是网站基础设施)都分布在两个数据中心,配置为主动-主动 在网络级别,服务器安装在扩展局域网上,数据中心采用暗光纤。所以延迟是最小的 SolrCloud-ZooKeeper基础设施将被大多数应用程序使用 我得到了一个Solr云,和一个动物园管理员合奏。在这一级别的实施是好的 但我想知道如何分配我的ZooKeeper服务器。我必须有奇数台服务器,但我只有2个数据中心。如果一个失败了,我有50%的

我正在开发一个全新的SolrCloud-ZooKeeper基础设施

一些背景资料:

  • 所有其他服务(主要是网站基础设施)都分布在两个数据中心,配置为主动-主动
  • 在网络级别,服务器安装在扩展局域网上,数据中心采用暗光纤。所以延迟是最小的
  • SolrCloud-ZooKeeper基础设施将被大多数应用程序使用
我得到了一个Solr云,和一个动物园管理员合奏。在这一级别的实施是好的

但我想知道如何分配我的ZooKeeper服务器。我必须有奇数台服务器,但我只有2个数据中心。如果一个失败了,我有50%的机会失去多数票

有什么想法吗?到目前为止,我想到:

  • 请求第三个数据中心(不太可能发生,$$!)

  • 每个数据中心有2台主机,外部云提供商(Amazon或…?)有1台主机。再次$$$

  • 在数据中心1设置奇数,并在站点2使用观察员。如果站点1出现故障,会发生什么情况?SolrCloud只能与一名观察者一起工作吗

谢谢你的任何想法和评论


Nic

如果您的要求是服务于来自本地数据中心(请求来源地)的所有搜索请求,那么您不需要跨dc zk部署。因为跨dc zk部署只需要在dc崩溃后生存(很可能不会发生,这就是为什么您要支付$$$),所以在这种情况下,很久以前不需要在多个dc中生成zk集群,但是,让我们分享一下我所做的

我找到了第三个站点来托管另一个ZooKeeper实例。此网站是我公司的另一个办公室,而不是“完整DC”。因此,每个站点有1 ZK

让我将一个集群分散在3个DC上的原因是,它们之间的距离足够近,可以在它们之间形成一条暗光纤。延迟非常低,不会影响ZK性能

然后对于SOLR,我在两个主DC上获得了完整的副本。第三个办公室仅为法定人数提供ZK。使用完整副本,我拥有每个DC中的所有数据。如果以后我的SOLR需要增加,我将进行切分,但目前我们的索引很小


它已经被证明是可靠的4年了,有1次失败。而且是在第三个办公室,而不是在一个DC。

您确定将一个SolrCloud群集分布在两个数据中心是个好主意吗?它是镜像群集吗?您能分享一下您的solrcloud部署图吗?因为我们已经在3个数据中心分布了solrcloud,但我们正在努力解决延迟问题。