欢迎访问-线上互联网广告代理平台网站-热狗网! 加入收藏 | 设为首页 注册    登录

更具广告影响力欢迎投稿-广告代理平台网站

通知:注册会员发布文稿不带锚文本-免费发!。若带锚文本则收费是:20元/月/ID。

通告:会员发布文稿内容都还在-没丢失。发布之前,请提前创建好自己的flag标签,标签是必选项。根据自己的实际需要创建标签即可。

基于Redis消息的订阅发布应用场景

作者:admin  发布日期:2022-02-11 17:54:43  阅读次数:0

  感谢网友的分享!基于Redis消息的订阅发布应用场景:实现用户在手机端app里面远程操控异地的硬件设备。1.应用背景

  在物联网采集管控系统中,前后端隔离的情况下,前端通过表单(比如按钮,开关,表格等)输入数据到数据库(比如MySql,通过WEBAPI服务端输入),然后采集控制端到数据库里去扫表取数据,将数据下发给物联网络中的终端设备(比如风扇控制板),从而来控制风扇的开跟关。2.困境采集控制端需要到数据库中去扫表。这个扫表操作会带来几个问题:2.1 锁表风险扫表会有锁表风险,当该DBContext被占用的时候,其他线程不能实时使用此DBContext。2.2 实时性差在物联网系统中,数据会非常多,比如有10000台设备,每台设备有100个采集控制点,则控制点最多可能会达到100W数据,这样去扫表,不仅占用DBContext上下文的时间会很长,而且实时性会很差。2.3 增加编程复杂性增加了采集服务端编程的复杂性。2.4 实时效果用户体验效果较差:客户点了开关控制风扇打开,然后底端设备需要很长时间才能真正打开。

  3.解决方案

  使用消息订阅发布方法。RabbitMQ比较重,故这里选用Redis的订阅发布功能,而且很多情况下Redis已经被作为缓存在引用,详见如下。3.1 前端传值给服务端

  前端将实时控制值以Restful API形式通过IP地址端口号+路由(比如:192.168.2.106:5000/ControlConfig)将此值传递给服务端。3.2 服务端通过消息传给采集控制端

  这里通过nuget获得CSRedisCore,来操作Redis的订阅发布功能。采集控制端订阅消息。服务端发布消息。这样操作达到了如下目的:2.1不用经过数据库消息的实时传递;2.2 实时性好;2.3 编程也简单;2.4 实时效果好。4.详细代码设计

  4.1 CSRedisCoreCSRedis 是 redis.io 官方推荐库,支持 redis-trib集群、哨兵、私有分区与连接池管理技术,简易 RedisHelper 静态类。

  https://www.nuget.org/packages/CSRedisCore/

  通过Nuget获得CSRedisCore库

本文标签:tomcat

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;
3.作者投稿可能会经我们编辑修改或补充。
本网站名:小程序开发公司  网址:www.tianjibk.com

当前页面标题:【基于Redis消息的订阅发布应用场景

随机新闻推荐