Pull for Push用于分布式服务器

时间:2013-11-28 16:50:31

标签: java linux cassandra distributed

我在不同地理位置的不同数据中心拥有服务器

所有服务器定期从cassandra中提取数据,然后将其加载到内部存储器中

服务器a有一个从cassandra读取数据的线程。

我注意到一个问题,对于远离cassandra集群的服务器,从cassandra加载数据的线程需要很长时间,并且通常整个服务器都会停止运行。

我想到了几种可能的解决方案:

  1. 复制cassandra,以便服务器与附近的cassandra进行通信
  2. 以进程的形式移出从服务器外部的cassandra读取的线程 因此,将有一个单独的进程从每个服务器上的cassandra读取数据,然后将数据推送到在同一台机器上运行的服务器
  3. 将cassandra拉动代码作为进程而不是服务器进程中的线程会改进吗?

    如果我使用推送到服务器而不是从服务器拉出来,情况会怎样?

    请提供一些替代方案或建议,了解影响设计选择的因素

    由于

1 个答案:

答案 0 :(得分:2)

您的问题中没有详细说明您选择此解决方案的原因以及您是否尝试过Cassandra的复制。在进行任何自定义复制之前:

  1. 我尝试使用默认
  2. 我需要了解默认情况下无效的内容