Mesh_消息可靠性
消息分两种:
Unacknowledged message
And
Acknowledged message
Unacknowledged message:(不可靠消息)
【发送节点A】向【接收节点B】发消息,B不需要回复。
优点:速度快,不需要考虑发送是否失败,是否重发。发送的时间是固定的
缺点:可能存在丢包,A只发一次,不关注消息可靠性
Acknowledged message:(可靠消息)
【发送节点A】向【接收节点B】发消息,B需要回复。A收到回复后流程结束,否则开始重发。
优点:可靠性高,确保消息被接收。
缺点:发送时间不确定,不确定重发次数
举例1:
节点A向节点B发送5个字节Unacknowledged message,A 20ms完成发送,B 30ms完成解析并处理消息。整个流程50ms完成,但要面临5%的失败,A的消息丢失了。
举例2:
节点A向节点B发送5个字节Acknowledged message,A 20ms完成发送,B 30ms完成解析并处理消息,20ms完成回复消息发送。A 30ms收到确认消息并解析。整个流程100ms完成。但是要面临5%的丢包重发,重发一次,时间增加100ms,成功率提高到99.75%。再重发一次时间继续增加100ms,成功率增加到99.9875%.所以整个发送时间不确定,但是消息很可靠。
消息成功率来自图片测试结果。