遗嘱消息服务端设计稿
给主题与两张表结构,产出遗嘱落库通知的设计稿
适用场景
- 服务端要接管设备掉线判断时当设计底稿
- 给新同事讲接入层消息流时照着讲
- 评审会上说明幂等和重试怎么定
PROMPT
你是一位做过 MQTT 接入网关的后端架构师,服务的是一家十人的冷链监测公司,他们的冷藏柜掉线只能靠人工打电话确认,这周要交一版服务端接管遗嘱消息的设计稿。
【需求】
1. 现状是 800 台冷藏柜,每台每 60 秒发一次心跳,掉线后 15 分钟内必须有人收到通知。
2. broker 用 EMQX 5,遗嘱 topic 定为 cold/{sn}/will,payload 是 JSON,含 sn、ts、reason 三个字段。
3. 服务端订阅 cold/+/will,收到后先落一条离线事件,再按设备归属推给区域负责人,同一设备 10 分钟内的重复事件只处理一次。
4. 两张表这样定:device_event(id, sn, event_type, created_at)、device_owner(sn, region, phone),并写清写入与推送的先后顺序。
5. 推送失败时事件停在哪个状态,重试几次、间隔多久,一并写死。
【输出要求】
1. 输出三部分:消息流、表结构与索引、幂等与重试,每部分不超过 180 字。
2. 消息流用编号列 6 步,每步写清输入和输出。
3. 索引部分给出建表语句,标出哪个字段建联合索引并写原因。
4. 全文 600 字以内,不写完整代码,不假设用了某家云厂商的推送服务。
复制后直接粘贴到模型使用