Why Nostr? What is Njump?
2024-06-30 16:50:04
in reply to

yB on Nostr: 扒卦协议的通信方式 ...

扒卦协议的通信方式

扒卦协议最终目的是将数据分发到网络中的每一个节点。根据不同的具体应用场景,网络中两个节点之问存在三种通信方式:推送模式(Push)、拉取模式(Pull)、推拉并举模式(Push/Pull)。

*推送:节点 A 将数据<key,value,version)>及对应的版本号推送给 B节点,B节点更新 A 中比自己新的数据。

*拉取: A 仅将数据<key,version>推送给B,B将自己比 A新的数据<Key,value,version>推送给A,A 更新本地。

*推拉并举:与推送类似,但是多了一步拉取,A 推送后再将本地比 B新的数据推送给 B,B则更新本地。如果把两个节点数据同步一次定义为一个周期,则在一个周期内,推送需通信1次,拉取需2次,推拉并举则需 3次。虽然消息数增加了,但从效果上来讲是最好,理论上一个周期内可以使两个节点完全一致。直观上,推拉并举的收敛速度也是最快的。
Author Public Key
npub18qkk0mr2x8wg6rzmxzvh2wsqgsnp5u8xjj4d6j0ttr7w22wtxzys32cgr6