小程序 数据库 时间_使用云开发数据库构建更生动的小程序
導語
長連接服務被廣泛應用在消息提醒、即時通訊、推送、直播彈幕、游戲等場景。本篇文章將介紹云開發(fā)數(shù)據(jù)庫的長連接服務——實時數(shù)據(jù)推送,使用它來構(gòu)建更生動的小程序。什么是實時數(shù)據(jù)推送?通過云開發(fā)數(shù)據(jù)庫的實時數(shù)據(jù)推送能力,小程序端可實時監(jiān)聽數(shù)據(jù)庫變更,即它支持根據(jù)開發(fā)者給定的查詢語句進行監(jiān)聽,每當查詢語句的結(jié)果發(fā)生變化時,小程序端就會收到包含更新內(nèi)容的推送,并對實時數(shù)據(jù)變化做出響應。
具體示例如下圖:客戶端1修改數(shù)據(jù)且符合監(jiān)聽條件,當數(shù)據(jù)庫收到變更時,會將客戶端1的變更內(nèi)容推送到其它客戶端。
云開發(fā)提供哪些能力支持?自建長連接服務,需要設計繁雜的系統(tǒng)架構(gòu),并且伴隨大量的開發(fā)工作,使得開發(fā)成本較高。當長連接服務開發(fā)完成投入使用后,將不可避免的會帶來額外的維護工作。對于基礎設施、服務安全等維護也需要耗費大量的時間成本和人力成本。此時,開發(fā)者可以進行小程序的實際開發(fā)工作。接入微信鑒權(quán)體系來獲取用戶登錄態(tài)、使用微信開放接口等,基于長連接服務來實現(xiàn)具體的業(yè)務邏輯。具體地,使用實時數(shù)據(jù)推送有如下優(yōu)勢:零開發(fā)
使用實時數(shù)據(jù)推送無需通過編寫服務端代碼來自建完整服務,降低了開發(fā)成本和開發(fā)者的使用門檻,可以將精力聚焦在核心業(yè)務的設計與開發(fā)上。
- 免鑒權(quán)
使用實時數(shù)據(jù)推送無需接入微信鑒權(quán)體系,天然集成了原生微信能力,與微信的登錄無縫整合,開箱即用,免鑒權(quán)獲取微信用戶信息、使用微信開放接口。減少了開發(fā)者對鑒權(quán)功能的開發(fā)和維護工作。
- 零維護
使用實時數(shù)據(jù)推送無需維護基礎設施、安全管理等問題,降低維護成本。
實時數(shù)據(jù)推送整體架構(gòu)
有一句流行語:“哪有什么歲月靜好,只是有人替你負重前行”,上文提到實時數(shù)據(jù)推送的零開發(fā)、零維護、免鑒權(quán)等天然優(yōu)勢,那么這些“歲月靜好”的能力背后是誰替它們“負重前行”呢?讓我們來揭開實時數(shù)據(jù)推送技術(shù)架構(gòu)的神秘面紗。
請求從小程序到接入層經(jīng)過的是 WebSocket 協(xié)議,再到安全校驗層進行權(quán)限驗證。安全校驗提供簡單的 ACL 標記,也支持高級的數(shù)據(jù)庫安全規(guī)則語法實現(xiàn)精細化訪問權(quán)限控制,可以根據(jù)業(yè)務實際情況進行選擇。對于路由層以及監(jiān)聽推送層,下面將從可用性、可靠性和性能方面來進行介紹:可用性
可靠性
高性能
簡單易用的 API 和豐富的應用場景
實時數(shù)據(jù)推送提供了便捷的 API 供廣大開發(fā)者使用。開發(fā)者可根據(jù)實際場景,按指定集合、查詢條件、排序方式、限制返回數(shù)量等來實現(xiàn)業(yè)務邏輯。更詳細的說明可參考微信開放文檔——云開發(fā)實時數(shù)據(jù)推送。文檔鏈接:
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/realtime.html
實時數(shù)據(jù)推送可以應用到許多實際業(yè)務場景中,如即時通信、狀態(tài)同步以及團隊協(xié)作等方面。無論是小程序或小游戲都可以使用云數(shù)據(jù)庫的實時數(shù)據(jù)推送來實現(xiàn)相關(guān)場景的實際業(yè)務功能。
即時通信
1. 小程序:直播聊天室、彈幕等
2. 小游戲:區(qū)服聊天、房間聊天、私信功能、動態(tài)消息等
成語偷菜小游戲就是一個經(jīng)典的即時通信客戶案例,它利用實時數(shù)據(jù)推送實現(xiàn)了偷菜的動態(tài)消息提醒。狀態(tài)同步
1. 小程序:聊天提示狀態(tài)好友正在輸入、好友1V1問答PK等
2. 小游戲:五子棋等
微信讀書每日一答小程序的問答PK環(huán)節(jié)也使用到了實時數(shù)據(jù)推送,在對答游戲中即時同步雙方答題的倒計時、分數(shù)、結(jié)果等狀態(tài)。
團隊協(xié)作
1. 在線共享文檔
2. 項目管理協(xié)作
結(jié)語
以上內(nèi)容,希望能幫助到各位開發(fā)者更好地應用實時數(shù)據(jù)推送,為小程序錦上添花。最后,歡迎關(guān)注云開發(fā)公眾號,不定時推送最新能力以及云開發(fā)實戰(zhàn)高質(zhì)量技術(shù)文章。
作者:劉國瑋,騰訊云云開發(fā)團隊后臺開發(fā)工程師。??更多精彩
點擊下方圖片即可了解△ 新能力|云開發(fā) VS Code 插件 CloudBase Toolkit 正式發(fā)布由于公眾號推送規(guī)則更改,請多多分享、點贊和“在看”,以及時獲取云開發(fā)Cloudbase的最新動態(tài)。
? ? ? 點擊在看讓更多人發(fā)現(xiàn)精彩
總結(jié)
以上是生活随笔為你收集整理的小程序 数据库 时间_使用云开发数据库构建更生动的小程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 有序字典_(Python基
- 下一篇: 中耳炎患者能不能吃羊肉