【问题标题】:How to handle read/write request in cassandra如何在 cassandra 中处理读/写请求
【发布时间】:2014-07-04 21:23:51
【问题描述】:

我在使用 DSE4.5 的 EC2 上有 5 个节点集群,其中 2 个 Cassandra、2 个 solr 和 1 个 hadoop。 我的要求是在请求从集群读取/写入时,我不想硬编码节点 IP 地址。我必须开发网络服务,通过哪个请求者可以向我的集群发送读/写请求,网络服务必须确定以下内容

1) 将读取请求路由到适当的节点。 2) 将写入请求路由到适当的节点。

如果有任何写入请求,那么它应该根据键空间和复制因子定向到 Cassandra 节点。如果它是一个读取请求,那么请求应该路由到 Solr 节点(就像我在 solr 上完成索引一样),如果有任何分析查询,那么请求应该路由到 hadoop。 如果在这种情况下任何节点出现故障,响应将不会受到影响。 除了专用请求之外,还有什么方法可以请求集群? 专用的意思是提供特定的IP地址进行读写。

DSE 中是否存在任何方法或算法?或者有没有可用的工具?

【问题讨论】:

    标签: cassandra datastax-enterprise


    【解决方案1】:

    Java 驱动程序应该为您处理所有这些:

    http://www.datastax.com/documentation/developer/java-driver/2.0/common/drivers/introduction/introArchOverview_c.html

    例如:

    • 节点发现:驱动程序自动发现并使用 Cassandra 集群的所有节点,包括新引导的节点

    • 可配置负载平衡:驱动程序允许自定义路由和负载平衡查询到 Cassandra 节点。开箱即用,循环提供可选的数据中心感知(只有来自本地数据中心的节点被查询(并保持连接))和可选的令牌感知(即,能够为作为协调员查询)。

    • 透明故障转移:如果 Cassandra 节点发生故障或无法访问,驱动程序会自动透明地尝试其他节点并在后台安排重新连接到死节点。

    在 Solr 查询方面,您可以使用 SolrJ 负载平衡器,但您必须硬连线要用作协调节点的节点列表,但 SolrJ 会为您循环。

    【讨论】:

      猜你喜欢
      • 2019-12-29
      • 2017-10-26
      • 1970-01-01
      • 1970-01-01
      • 2022-01-11
      • 2013-03-03
      • 2013-02-02
      • 2016-09-20
      • 2021-03-10
      相关资源
      最近更新 更多