跨数据中心的碳中继复制

问题描述 投票:0回答:1

我最近“继承”了我必须重新设计的同事的碳/石墨装置。目前的设置是:

  • 数据中心1(DC1):2台服务器(服务器-DC1-1和服务器-DC1-2),带1个碳中继和4个碳缓存
  • 数据中心2(DC2):2台服务器(服务器-DC2-1和服务器-DC2-2),带1个碳中继和4个碳缓存

所有4个碳继电器配置有REPLICATION_FACTOR为2,一致散列和所有碳缓存(2(DC)* 2(服务器)* 4(高速缓存))。这导致一些指标仅存在于一台服务器上(它们可能被散列到同一服务器上的不同缓存)。有超过100万个指标,此问题影响所有指标的约8%。

我想要做的是具有冗余的多层设置,以便我镜像数据中心和数据中心内的所有指标,我使用一致性散列来在两台服务器之间均匀分布指标。

为此我需要帮助(主要)继电器的配置。这是我想到的图片:

http://i.imgur.com/dtjGlhn.png

客户端会将其数据发送到各自数据中心的tier1relay(“loadbalancing”将发生在客户端,因此例如主机名中具有偶数的所有客户端将发送到tier1relay-DC1-1和具有奇数的客户端将发送到tier1relay-DC1-2)。

tier2relays使用一致的散列来在两个服务器之间均匀地分布数据中心中的数据。例如,tier2relay-DC1-1的“伪”配置如下所示:

  • RELAY_METHOD =一致散列
  • DESTINATIONS = server-DC1-1:cache-DC1-1-a,server-DC1-1:cache-DC1-1-b,(...),server-DC1-2:cache-DC1-2-d

我想知道的是:如何告诉tier1relay-DC1-1和tier1relay-DC1-2他们应该将所有指标发送到DC1和DC2中的tier2relay(在DC上复制指标)并执行某种“负载平衡” “在tier2relay-DC1-1和tier2relay-DC1-2之间。


另一方面:我也想知道如果我使用一致性哈希,碳中继内部会发生什么,但是一个或多个目的地无法访问(服务器关闭) - 指标会再次进行哈希处理(针对可到达的缓存)或者他们会暂时放弃吗? (或者从不同的角度提出相同的问题:当中继收到指标时,它是根据所有已配置目的地的列表还是根据当前可用的目的地进行度量的散列?)

replication graphite graphite-carbon
1个回答
0
投票

https://github.com/grobian/carbon-c-relay

这究竟是你需要的。它还可以为您带来极大的性能提升。

© www.soinside.com 2019 - 2024. All rights reserved.