基于MQTT訂閱/發(fā)布模型,可以快速實(shí)現(xiàn)一對(duì)多在線推送功能,并且推送內(nèi)容可根據(jù)自己業(yè)務(wù)自定義。本次項(xiàng)目“每日Bug看板”選擇實(shí)現(xiàn)任務(wù)看板中的消息推送,推送內(nèi)容包括:任務(wù)創(chuàng)建、任務(wù)認(rèn)領(lǐng)、任務(wù)釋放、任務(wù)完成等消息,從而快速實(shí)現(xiàn)團(tuán)隊(duì)云協(xié)作。
方案背景
隨著數(shù)字化服務(wù)的發(fā)展,應(yīng)用系統(tǒng)與終端用戶之間需要構(gòu)建穩(wěn)定消息通道,且消息的靈活性與實(shí)效性決定了消息的價(jià)值,尤其對(duì)于下述場景,皆需要即時(shí)下發(fā)業(yè)務(wù)狀態(tài)變更通知。
→開發(fā)測試:
Bug創(chuàng)建、認(rèn)領(lǐng)、修復(fù)等記錄通知
→在線選座:
在線選座、預(yù)定、取消等狀態(tài)變更通知
→會(huì)議室預(yù)定
會(huì)議室預(yù)定、釋放等狀態(tài)變更通知
→工單處理
工單錄入、認(rèn)領(lǐng)、處理等流程通知
→個(gè)人待辦
未完成、進(jìn)行中、已完成等辦理狀態(tài)通知
綜上所述,當(dāng)接入端在近百萬、千萬級(jí)的情況下,需要選擇一種安全,穩(wěn)定,可靠的在線推送方案。
產(chǎn)品設(shè)計(jì)
基于MQTT訂閱/發(fā)布模型,可以快速實(shí)現(xiàn)一對(duì)多在線推送功能,并且推送內(nèi)容可根據(jù)自己業(yè)務(wù)自定義。
本次項(xiàng)目選擇實(shí)現(xiàn)任務(wù)看板中的消息推送,推送內(nèi)容包括:任務(wù)創(chuàng)建、任務(wù)認(rèn)領(lǐng)、任務(wù)釋放、任務(wù)完成等消息,從而快速實(shí)現(xiàn)團(tuán)隊(duì)云協(xié)作。
技術(shù)優(yōu)勢(shì)
針對(duì)一對(duì)多在線推送場景,選擇MQTT訂閱/發(fā)布模型具備以下優(yōu)勢(shì):
高并發(fā),可以允許海量客戶端同時(shí)在線;
低延時(shí),通過中間件進(jìn)行分發(fā),減少消息復(fù)制成本;
高可用,服務(wù)器支持水平擴(kuò)展,滿足性能要求;
易集成,已具備多端開源SDK,可快速上線;
輕量級(jí),MQTT客戶端SDK簡潔,連接消耗低(保活心跳報(bào)文2個(gè)字節(jié))
功能介紹
1)創(chuàng)建Bug
直接在輸入框輸入Bug描述信息
回車即可添加到未解決目錄下
創(chuàng)建成功后團(tuán)隊(duì)其他用戶均可收到創(chuàng)建提醒
同時(shí)所有打開Bug看板的成員均會(huì)自動(dòng)更新看板
2)認(rèn)領(lǐng)/取消認(rèn)領(lǐng)Bug
認(rèn)領(lǐng)Bug
查看未解決的Bugs
選擇要認(rèn)領(lǐng)的Bug,點(diǎn)擊認(rèn)領(lǐng)
認(rèn)領(lǐng)后可以看到該Bug上顯示自己用戶名
團(tuán)隊(duì)其他用戶均可收到認(rèn)領(lǐng)提醒(該項(xiàng)不需要可以關(guān)閉)
取消認(rèn)領(lǐng)bug
查看未解決的Bugs
選擇要取消認(rèn)領(lǐng)的Bug,點(diǎn)擊自己用戶名標(biāo)簽
取消認(rèn)領(lǐng)后即可釋放該Bug,用戶名標(biāo)簽自動(dòng)改回認(rèn)領(lǐng)
團(tuán)隊(duì)其他用戶均可收到釋放提醒
同時(shí)所有打開Bug看板的成員均會(huì)自動(dòng)更新看板
解決Bug
查看未解決的Bugs
選擇自己已解決的Bug
點(diǎn)擊前面的方框,將其狀態(tài)改為已解決
該Bug將從未解決列表轉(zhuǎn)移到已解決列表
團(tuán)隊(duì)其他用戶均可收到解決提醒(該項(xiàng)不需要可以關(guān)閉)
同時(shí)所有打開Bug看板的成員均會(huì)自動(dòng)更新看板
Bug復(fù)測不過
對(duì)于復(fù)測不過的Bug,需要將其從已解決列表移回未解決列表
在已解決列表選擇復(fù)測不通過的Bug
點(diǎn)擊前面勾選狀態(tài)的方框,將其狀態(tài)改為未解決
團(tuán)隊(duì)其他用戶均可收到提醒
同時(shí)所有打開Bug看板的成員均會(huì)自動(dòng)更新看板
刪除Bug
對(duì)于錄入錯(cuò)誤或復(fù)測通過的Bug,可執(zhí)行刪除操作
選擇要?jiǎng)h除的Bug
點(diǎn)擊最后的刪除框,將其從列表刪除
團(tuán)隊(duì)其他用戶均可收到刪除提醒
同時(shí)所有打開Bug看板的成員均會(huì)自動(dòng)更新看板
異常提示
認(rèn)領(lǐng)他人Bug
已被認(rèn)領(lǐng)的Bug不允許認(rèn)領(lǐng)
提示“已被xxx認(rèn)領(lǐng)…”,須釋放后才能認(rèn)領(lǐng)
該操作僅本人提示,不會(huì)推送給認(rèn)領(lǐng)人
解決未認(rèn)領(lǐng)Bug
未認(rèn)領(lǐng)的Bug不允許改為已完成
提示“請(qǐng)先認(rèn)領(lǐng)…”,認(rèn)領(lǐng)后才可解決
該操作僅本人提示,不會(huì)推送給他人
技術(shù)實(shí)現(xiàn)
本次MQTT服務(wù)器選擇環(huán)信MQTT消息云,服務(wù)器除了消息路由外,還支持消息存儲(chǔ)、在線狀態(tài)查詢、客戶端消息軌跡查詢等功能。
除此以外,還提供了長期免費(fèi)版,節(jié)省了自己搭建服務(wù)器的時(shí)間(目前市面上沒有免費(fèi)的MQTT服務(wù)器,薅羊毛,不薅白不薅~)
在環(huán)信注冊(cè)成功后,即可登錄環(huán)信MQTT消息云控制臺(tái),【創(chuàng)建應(yīng)用】并開通MQTT服務(wù),獲取圖中關(guān)鍵信息。
示例說明
連接環(huán)信MQTT服務(wù)并發(fā)送消息
MQTT服務(wù)訂閱
MMQTT服務(wù)取消訂閱
發(fā)送消息
部署說明
修改配置
登錄環(huán)信MQTT消息云控制臺(tái),獲取上面 技術(shù)實(shí)現(xiàn) 圖中的關(guān)鍵信息,配置在index.js以下參數(shù)即可:
服務(wù)部署
直接放到Nginx、Apache、IIS等web容器即可訪問,目前已部署在服務(wù)器上,可直接打開鏈接訪問。
在線體驗(yàn)地址:任務(wù)看板登錄入口
代碼下載
上文介紹了在線通知的實(shí)現(xiàn)和部署,這里附上整個(gè)方案的代碼供大家學(xué)習(xí)參考,源碼下載
總結(jié)
在任務(wù)管理這個(gè)場景中,會(huì)出現(xiàn)創(chuàng)建Bug、認(rèn)領(lǐng)Bug、完成Bug等多個(gè)狀態(tài)的頻繁變更,所以高效、穩(wěn)定的通知給所有關(guān)注者(訂閱者)是關(guān)鍵。
接入基于訂閱/發(fā)布模式的環(huán)信MQTT消息云,不僅可以支持海量客戶端同時(shí)在線,還支持消息分發(fā),減少消息復(fù)制成本,實(shí)時(shí)向在線客戶端發(fā)送消息。另外開發(fā)過程中也不需要再關(guān)心弱網(wǎng)絡(luò)環(huán)境、斷線重連、異常處理、海量并發(fā)、系統(tǒng)高可用等復(fù)雜的技術(shù)問題,極大程度上降低了開發(fā)成本,一兩天即可搭建一套完整的任務(wù)看板功能。
文章內(nèi)容僅供閱讀,不構(gòu)成投資建議,請(qǐng)謹(jǐn)慎對(duì)待。投資者據(jù)此操作,風(fēng)險(xiǎn)自擔(dān)。
2024年的Adobe MAX 2024發(fā)布會(huì)上,Adobe推出了最新版本的Adobe Creative Cloud。
奧維云網(wǎng)(AVC)推總數(shù)據(jù)顯示,2024年1-9月明火炊具線上零售額94.2億元,同比增加3.1%,其中抖音渠道表現(xiàn)優(yōu)異,同比有14%的漲幅,傳統(tǒng)電商略有下滑,同比降低2.3%。
“以前都要去窗口辦,一套流程下來都要半個(gè)月了,現(xiàn)在方便多了!”打開“重慶公積金”微信小程序,按照提示流程提交相關(guān)材料,僅幾秒鐘,重慶市民曾某的賬戶就打進(jìn)了21600元。
華碩ProArt創(chuàng)藝27 Pro PA279CRV顯示器,憑借其優(yōu)秀的性能配置和精準(zhǔn)的色彩呈現(xiàn)能力,為您的創(chuàng)作工作帶來實(shí)質(zhì)性的幫助,雙十一期間低至2799元,性價(jià)比很高,簡直是創(chuàng)作者們的首選。
9月14日,2024全球工業(yè)互聯(lián)網(wǎng)大會(huì)——工業(yè)互聯(lián)網(wǎng)標(biāo)識(shí)解析專題論壇在沈陽成功舉辦。