python - IoT socket server 设备反控方案选择,Redis PubSub还是SQL ?
ringa_lee
ringa_lee 2017-04-17 17:53:29
0
0
341

一台面对物联网的套接字服务器,架构较为简单:

  1. Python Twisted socket server;

  2. Redis作为缓存

  3. MySQL作为持久层数据库;

  4. Python Web server作为用户界面。

客户要求能够反向控制及配置设备。即在Web端口可以发送命令给前端套接字服务器。

有两种解决方案:

  1. 利用Redis pubsub构成消息队列。

  2. 利用Redis/MySQL数据库作为消息缓冲,套接字服务器端采用轮询方式。

采用PubSub可以构成异步推送的方案。但是代价是每个协议对象需要保持三个长连接:

  1. Device

  2. Redis Sub(主要)

  3. Redis Pub(次要)

是否过于消耗存储器资源?现有的设计中与Redis连接采用连接池的设计,是否意味着重大的代码修改?

采用轮询方式,每次有设备活动,或者定时CallLater可以由协议对象去轮询一次数据库(Redis/SQL均可)。但是增加了Redis/TCP的无效通讯。

听听大家的意见?

ringa_lee
ringa_lee

ringa_lee

全部回复 (0)
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!