数据模型
PushGo 的核心优势在于它支持三种不同的数据模型,每种模型都针对不同的通知和状态同步需求进行了优化。
1. Message (消息型/瞬态)
Section titled “1. Message (消息型/瞬态)”Message 是最简单的模型,设计用于那些不代表持久状态的一次性通知。
- 使用场景: 警报、聊天消息、简单的推送通知。
- 行为: 存储在按时间顺序排列的日志中。一旦送达并查看,通常被认为是瞬态的。
- 关键字段:
title,body,priority(优先级)。
2. Event (事件型/有状态)
Section titled “2. Event (事件型/有状态)”Event 代表在特定时间点发生的有状态事件或转换。
- 使用场景: “灯已打开”、“检测到运动”、“任务已完成”。
- 行为: 事件可以是状态的增量更新(patches)。网关和客户端可以合并事件增量来确定实体的当前状态。
- 关键字段:
event_type(事件类型),payload(负载),timestamp(时间戳),thing_id(可选的实体 ID)。
3. Thing (实体型/持久化)
Section titled “3. Thing (实体型/持久化)”Thing 代表一个持久化的实体,例如一个物理设备、一个房间或一个逻辑任务。
- 使用场景: 智能家居设备、服务器节点、项目任务。
- 行为: 实体具有持久的生命周期(Active 活跃, Archived 已归档, Deleted 已删除)。它们作为事件和当前状态 (
attrs) 的容器。 - 关键字段:
thing_type(实体类型),state(状态),attrs(属性,JSON 对象)。
通过选择正确的模型,你可以使用 PushGo 构建复杂的监控和通知工作流。