NDB Cluster 数据和 API 节点通过相互传递消息来相互通信。从一个节点发送消息并由另一个节点接收的消息称为
信号;NDB
协议是管理这些消息的格式及其传递方式的一组规则
。
NDB
消息通常
是请求或
响应。请求表示 API 节点想要执行涉及集群数据(例如检索、插入、更新或删除)或事务(提交、回滚或获取或释放事务记录)的操作。必要时,请求会附有关键字或索引信息。数据节点发送给该请求的响应指示请求是否成功,并在适当的情况下伴随一个或多个数据消息。
请求类型。
请求表示为REQ
消息。请求可以分为处理数据的请求和处理事务的请求:
-
数据请求。 数据请求操作分为三种主要类型:
主键查找操作是通过
TCKEY
消息的交换来执行的。唯一键查找操作是通过
TCINDX
消息交换来执行的。表或索引扫描操作是通过
SCANTAB
消息交换来执行的。
数据请求消息通常伴随有
KEYINFO
消息、ATTRINFO
消息或这两种消息。 -
交易请求。 这些可以分为两类:
提交和回滚,分别由
TC_COMMIT
和TCROLLBACK
请求消息表示。交易记录请求,包括交易记录获取和释放,分别通过使用
TCSEIZE
和TCRELEASE
请求消息来处理。
响应类型。 响应指示发送响应的请求的成功或失败:
指示成功的响应表示为
CONF
(确认)消息,并且通常伴随有数据,数据被打包为一个或多个TRANSID_AI
消息。指示失败的响应表示为
REF
(拒绝)消息。
有关这些消息类型及其相互关系的更多信息,请参阅 第 3.2 节,“NDB 协议消息”。