节点和客户端cassandra之间的数据传输

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

我是Cassandra的新手,正在学习它。 所以问题是如何在Cassandra中的节点之间进行通信

  1. 基本通讯-故障检测及其他
  2. 从节点到节点以及客户端的数据传输
  3. 任何其他类型的交流

第一个答案是八卦协议http://www.datastax.com/resources/faq
但是我对Cassandra用于将数据从一个节点传输到另一节点或客户端的协议和方法并不感到好奇。

cassandra data-transfer
2个回答
1
投票

如您所述,节点之间的通信是通过Gossip进行的。

故障检测再次通过八卦进行,每个节点检查其他节点的八卦消息。 如果没有收到“ n”(可在cassandra.yaml文件中配置)八卦消息,则认为该节点已死。 查找标记phi-convict阈值。

我不确定cassandra用于数据传输什么,主要可能是基于TCP构建的简单层。 cassandra的主要功能之一是您不必担心Cassandra如何处理复制,只需要考虑策略


1
投票

Cassandra节点间通信独立于节点和客户端之间的通信。

  1. 闲话-用于使节点知道故障(不涉及客户端)
  2. 这需要拆分:节点在storage_port上通信/发送数据(请参阅cassandra.yaml-默认端口7000),客户端连接到端口9042(对于旧的Thrift客户端则为9160),并使用此处指定的专有二进制协议进行通信: https:/ /github.com/apache/cassandra/blob/trunk/doc/native_protocol_v3.spec
  3. 您可能关心的其他通信是JMX,该节点工具使用

此处有更多详细信息: http : //www.datastax.com/documentation/cassandra/2.1/cassandra/security/secureFireWall_r.html

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