目标
提供开发人员简单方便的硬件状态监控平台。
架构图
重点设计
采用Zookeeper的运作逻辑
1. Server端Keeper维护由Client端Author Publish过来的Device。
2. Server端Keeper定时移除一段时间内没有Client端Author Heartbeat 的Device。
3. Client端Author Publish Device后,Device状态有更新要通知Server端Keeper更新。
4. Client端Author Publish Device后,要定时对通知Server端Keeper做Device Heartbeat。
5. Client端Reader可以Query Server端Keeper上的Device,当查询不到的时候代表该Device断线。
6. Client端Reader可以Subscribe Server端Keeper上的Device,当Device状态有更新时会收到通知。
Device状态数据
1. 采用字典方式Dictionary储存状态数据,并且采用字符串格式来做数据索引、数据内容默认为各种基本数据型别,而这个Dictionary必须要能通知状态变更。
2. 另外数据内容也可以是CustomState,只是这个CustomState必须要可以串行化,并且要能通知状态变更。