文章詳情頁
node.js - 大用戶量怎么做同時推送
瀏覽:90日期:2022-06-16 10:36:55
問題描述
比如現在有10w用戶,我想請問下如何對這10w人同時進行推送呢
數據庫采用mysql或者mongodb
如果是一臺服務器的話,我的做法是把用戶分批,比如一批1000人,需要100批,同時操作,然后把查詢出來的用戶做推送
如果是多臺服務器的話,需要怎么操作呢?
想一些第三方的推送工具(比如百度推送、小米推送)他們提供推送到全部設備,這里應該就會有上面的問題吧,他們的推送服務器應該不會是一臺,他們是怎么做的處理呢
問題解答
回答1:一臺就慢慢循環發多臺就做任務分發比如10w個用戶需要推送有5臺服務器可以同時工作建立一個中間件(比如mq,redis等)做任務分發,每1000個用戶為一個任務,把10w用戶分成100個任務然后5臺服務器去取任務每次取一個,處理結束在取一個,平均一臺服務器處理20個任務。
分發的任務可以直接為mysql或者mongodb的查詢語句例如 mongodb.user.find().limit(1000).skip(0),mongodb.user.find().limit(1000).skip(1000),mongodb.user.find().limit(1000).skip(2000)...
回答2:查詢比率的數據推...
回答3:我們是用的極光推送的服務
上一條:MySQL 書籍推薦下一條:一個MySQL關聯查詢是否存在的問題
相關文章:
1. mysql - 請問數據庫字段為年月日,傳進的參數為月,怎么查詢那個月所對應的數據2. node.js - win 下 npm install 遇到了如下錯誤 會導致 無法 run dev么?3. javascript - 我的站點貌似被別人克隆了, google 搜索特定文章,除了域名不一樣,其他的都一樣,如何解決?4. 求救一下,用新版的phpstudy,數據庫過段時間會消失是什么情況?5. [python2]local variable referenced before assignment問題6. Python2中code.co_kwonlyargcount的等效寫法7. html - 移動端radio無法選中8. php - 微信開發驗證服務器有效性9. javascript - vue+iview upload傳參失敗 跨域問題后臺已經解決 仍然報403,這是怎么回事啊?10. mysql - 如何在有自增id的情況下,讓其他某些字段能不重復插入
排行榜
