知识卡片
Pull算法四步摘要握手避免无谓传输
内容
Gossip模块向其他节点拉取数据时不会直接请求全量数据,而是走四步握手:A先发Hello打招呼;B回复一份DataDigest摘要(只包含数据的标识,不含数据本体);A比对摘要和本地已有数据,只挑出自己确实缺失的部分打包成DataRequest;B才把A明确要的那部分数据通过DataUpdate发回。这种”先交换目录、再按需索取”的模式,把可能很大的数据传输量前置压缩成一次轻量的摘要比对,只有真正存在差异的数据才会被实际传输,用一轮额外的往返换取了大幅降低的网络开销——这与”先握手确认差异、再传输增量”的思路(如rsync)是同一类设计。
参考来源
《Hyperledger Fabric技术内幕:架构设计与实现原理》第6章《Gossip消息模块》