更新时间:2023/9/12 3:51:12  文章录入:admin  责任编辑:admin
基于MQTT订阅/发布模型,可以快速实现一对多在线推送功能,并且推送内容可根据自己业务自定义。本次项目“每日Bug看板”选择实现任务看板中的消息推送,推送内容包括:任务创建、任务认领、任务释放、任务完成等消息,从而快速实现团队云协作。方案背景随着数字化服务的发展,应用系统与终端用户之间需要构建稳定消息通道,且消息的灵活性与实效性决定了消息的价值,尤其对于下述场景,皆需要即时下发业务状态变更通知。→开发测试:Bug创建、认领、修复等记录通知→在线选座:在线选座、预定、取消等状态变更通知→会议室预定会议室预定、释放等状态变更通知→工单处理工单录入、认领、处理等流程通知→个人待办未完成、进行中、已完成等办理状态通知综上所述,当接入端在近百万、千万级的情况下,需要选择一种安全,稳定,可靠的在线推送方案。产品设计基于MQTT订阅/发布模型,可以快速实现一对多在线推送功能,并且推送内容可根据自己业务自定义。本次项目选择实现任务看板中的消息推送,推送内容包括:任务创建、任务认领、任务释放、任务完成等消息,从而快速实现团队云协作。技术优势针对一对多在线推送场景,选择MQTT订阅/发布模型具备以下优势:高并发,可以允许海量客户端同时在线;低延时,通过中间件进行分发,减少消息复制成本;高可用,服务器支持水平扩展,满足性能要求;易集成,已具备多端开源SDK,可快速上线;轻量级,MQTT客户端SDK简洁,连接消耗低(保活心跳报文2个字节)功能介绍1)创建Bug直接在输入框输入Bug描述信息回车即可添加到未解决目录下创建成功后团队其他用户均可收到创建提醒同时所有打开Bug看板的成员均会自动更新看板2)认领/取消认领Bug认领Bug查看未解决的Bugs选择要认领的Bug,点击认领认领后可以看到该Bug上显示自己用户名团队其他用户均可收到认领提醒(该项不需要可以关闭)取消认领bug查看未解决的Bugs选择要取消认领的Bug,点击自己用户名标签取消认领后即可释放该Bug,用户名标签自动改回认领团队其他用户均可收到释放提醒同时所有打开Bug看板的成员均会自动更新看板解决Bug查看未解决的Bugs选择自己已解决的Bug点击前面的方框,将其状态改为已解决该Bug将从未解决列表转移到已解决列表团队其他用户均可收到解决提醒(该项不需要可以关闭)同时所有打开Bug看板的成员均会自动更新看板Bug复测不过对于复测不过的Bug,需要将其从已解决列表移回未解决列表在已解决列表选择复测不通过的Bug点击前面勾选状态的方框,将其状态改为未解决团队其他用户均可收到提醒同时所有打开Bug看板的成员均会自动更新看板删除Bug对于录入错误或复测通过的Bug,可执行删除操作选择要删除的Bug点击最后的删除框,将其从列表删除团队其他用户均可收到删除提醒同时所有打开Bug看板的成员均会自动更新看板异常提示认领他人Bug已被认领的Bug不允许认领提示“已被xxx认领…”,须释放后才能认领该操作仅本人提示,不会推送给认领人解决未认领Bug未认领的Bug不允许改为已完成提示“请先认领…”,认领后才可解决该操作仅本人提示,不会推送给他人技术实现本次MQTT服务器选择环信MQTT消息云,服务器除了消息路由外,还支持消息存储、在线状态查询、客户端消息轨迹查询等功能。除此以外,还提供了长期免费版,节省了自己搭建服务器的时间(目前市面上没有免费的MQTT服务器,薅羊毛,不薅白不薅~)在环信注册成功后,即可登录环信MQTT消息云控制台,【创建应用】并开通MQTT服务,获取图中关键信息。示例说明连接环信MQTT服务并发送消息MQTT服务订阅MMQTT服务取消订阅发送消息部署说明修改配置登录环信MQTT消息云控制台,获取上面 技术实现 图中的关键信息,配置在index.js以下参数即可:服务部署直接放到Nginx、Apache、IIS等web容器即可访问,目前已部署在服务器上,可直接打开链接访问。在线体验地址:任务看板登录入口代码下载上文介绍了在线通知的实现和部署,这里附上整个方案的代码供大家学习参考,源码下载总结在任务管理这个场景中,会出现创建Bug、认领Bug、完成Bug等多个状态的频繁变更,所以高效、稳定的通知给所有关注者(订阅者)是关键。接入基于订阅/发布模式的环信MQTT消息云,不仅可以支持海量客户端同时在线,还支持消息分发,减少消息复制成本,实时向在线客户端发送消息。另外开发过程中也不需要再关心弱网络环境、断线重连、异常处理、海量并发、系统高可用等复杂的技术问题,极大程度上降低了开发成本,一两天即可搭建一套完整的任务看板功能。 打印本文 打印本文  关闭窗口 关闭窗口