问题描述
- 多节点状态同步机制设计
-
一个例子 A通过wifi 控制B B通过串口控制单片机C C的每个io控制一个灯 一共20个灯应用 ABC 上面都有指示的东西 表示哪个灯亮了
问题1:比如A要控制最终的某个灯 怎么能保证 A B C 上的 指示是同步的不会错?
问题2:A,B,C都有自己的数据库 比如A想改C的某些配置 怎么能保证长时间使用过程中数据库不出错 他们几个的数据库版本是一致的 如果整条链路间做应答机制应该怎么做问题3:概念问题 怎么确认通信是成功的
A发给 B B回复收到 A回复收到B的应答收到==>这样B也不能确定A收到 所以B又发收到A回复收到B的应答收到A的回复 .......你懂的 那么怎么确认成功呢
解决方案
问题1:A请求B,B收到请求后,请求C,C处理完后返回消息给B,告诉B成功了,B再返回消息给A告诉A成功了。
问题2:如果传输协议可靠,数据本身是可靠的
问题3:A的请求直到收到B的响应后才表示请求成功,若没有收到B的响应,A重试,知道收到响应;给每次请求分配一个唯一的ID(UUID),这样当B由于响应网络问题照成A没有收到response时,A重发,B能判断出这是重发的数据,而不用再次请求C,直接响应给A即可。。。B和C通讯类似
时间: 2025-01-26 18:31:15