node.js - 大用戶量怎么做同時推送
問題描述
比如現(xiàn)在有10w用戶,我想請問下如何對這10w人同時進行推送呢
數(shù)據(jù)庫采用mysql或者mongodb
如果是一臺服務(wù)器的話,我的做法是把用戶分批,比如一批1000人,需要100批,同時操作,然后把查詢出來的用戶做推送
如果是多臺服務(wù)器的話,需要怎么操作呢?
想一些第三方的推送工具(比如百度推送、小米推送)他們提供推送到全部設(shè)備,這里應(yīng)該就會有上面的問題吧,他們的推送服務(wù)器應(yīng)該不會是一臺,他們是怎么做的處理呢
問題解答
回答1:一臺就慢慢循環(huán)發(fā)多臺就做任務(wù)分發(fā)比如10w個用戶需要推送有5臺服務(wù)器可以同時工作建立一個中間件(比如mq,redis等)做任務(wù)分發(fā),每1000個用戶為一個任務(wù),把10w用戶分成100個任務(wù)然后5臺服務(wù)器去取任務(wù)每次取一個,處理結(jié)束在取一個,平均一臺服務(wù)器處理20個任務(wù)。
分發(fā)的任務(wù)可以直接為mysql或者mongodb的查詢語句例如 mongodb.user.find().limit(1000).skip(0),mongodb.user.find().limit(1000).skip(1000),mongodb.user.find().limit(1000).skip(2000)...
回答2:查詢比率的數(shù)據(jù)推...
回答3:我們是用的極光推送的服務(wù)
相關(guān)文章:
1. 前端 - 應(yīng)該先從angularJS , vue.js , react 這些框架中的哪個開始入手?2. 微信訂閱號如何用渠道二維碼統(tǒng)計地推效果?3. javascript - 一個前端的自我修養(yǎng)4. PHPstudy創(chuàng)建網(wǎng)站成功,用瀏覽器打開文件,瀏覽器地址顯示“l(fā)oaclhost:63342/,錯5. css - 如何在切換IMg2 img3 img4的時候第一張圖片消失6. css - font-size屬性可能受到什么不常見因素的影響?(求看詳情)7. javascript - vue.js 在使用期間遇到ios9.3.2不兼容問題8. javascript - react input file9. javascript - jq 上傳圖片成功后添加一個新的上傳框時出現(xiàn)問題10. html - eclipse 標(biāo)簽錯誤
