3.1 NDB 协议概述

NDB Cluster 数据和 API 节点通过相互传递消息来相互通信。从一个节点发送消息并由另一个节点接收的消息称为 信号NDB协议是管理这些消息的格式及其传递方式的一组规则 。

NDB消息通常 是请求响应。请求表示 API 节点想要执行涉及集群数据(例如检索、插入、更新或删除)或事务(提交、回滚或获取或释放事务记录)的操作。必要时,请求会附有关键字或索引信息。数据节点发送给该请求的响应指示请求是否成功,并在适当的情况下伴随一个或多个数据消息。

请求类型。  请求表示为REQ消息。请求可以分为处理数据的请求和处理事务的请求:

  • 数据请求。  数据请求操作分为三种主要类型:

    1. 主键查找操作是通过 TCKEY消息的交换来执行的。

    2. 唯一键查找操作是通过 TCINDX消息交换来执行的。

    3. 表或索引扫描操作是通过 SCANTAB消息交换来执行的。

    数据请求消息通常伴随有 KEYINFO消息、 ATTRINFO消息或这两种消息。

  • 交易请求。  这些可以分为两类:

    1. 提交和回滚,分别由TC_COMMITTCROLLBACK请求消息表示。

    2. 交易记录请求,包括交易记录获取和释放,分别通过使用 TCSEIZETCRELEASE请求消息来处理。

响应类型。  响应指示发送响应的请求的成功或失败:

  • 指示成功的响应表示为 CONF(确认)消息,并且通常伴随有数据,数据被打包为一个或多个 TRANSID_AI消息。

  • 指示失败的响应表示为 REF(拒绝)消息。

有关这些消息类型及其相互关系的更多信息,请参阅 第 3.2 节,“NDB 协议消息”