-
Notifications
You must be signed in to change notification settings - Fork 23
TODO
hocgin edited this page Nov 19, 2021
·
11 revisions
server server server
| | |
(3) (3) (3)
v v v
secondary <-(1)-> main <-(1)-> secondary
| | |
(2) (2) (2)
v v v
driver driver driver
- driver: 是用户端设备
- server: 是 web 端。
- node-driver 路由表: 维护 node 上的 driver 列表。默认由 cache 实现维护。
- global-driver 路由表: 维护 driver 对应所在 node 的映射。考虑由 redis 或 cache 来实现,设备上/下线 node 之间互相同步维护。
- node-node 拓扑结构: node 之间互相注册。
- main 选举: 当 main 不存在,
(1) node 数据上报
增量上报: node 主动上报,driver 上/下线时上报到 main。
全量上报: main 发起上报命令,node 上报全部 driver。
main 查询: main 向 node 发起查询命令,node 上报指定 driver。
node 查询: node 向 main 发起查询命令,node 上报指定 driver。
(2) ws协议: node 与 driver 使用 ws 协议连接。
- ⬇️ 指令 ⬆️ ack
- ⬇️ 切换 node ⬆️ ack
- ⬆️ 心跳 ⬆️ ack
- ⬆️ 登陆 ⬇️ ack
(3) ws协议: node 与 server 使用 ws 协议连接。 存疑部分