跨数据中心的碳中继复制

时间:2015-03-04 12:37:26

标签: replication graphite graphite-carbon

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

  • 数据中心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 ("负载均衡"会发生在客户端,因此例如所有客户端都是偶数主机名将发送至 tier1relay-DC1-1 ,具有奇数号码的客户端将发送至 tier1relay-DC1-2 )。

tier2relay 使用一致性散列将数据中心中的数据均匀分布在两台服务器上。例如"伪" 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 之间。


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

1 个答案:

答案 0 :(得分:0)

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

您需要什么?它还可以大大提升你的表现。