文章详情页
node.js - 大用户量怎么做同时推送
浏览:241日期: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. node.js - npm run dev报错2. mysql - 仅仅只是把单引号与反斜杠转义不用prepare statement能否避免sql注入?3. css3不包括4. angular.js - Angular 像这种重复判断的表达式 有什么好的解决办法吗?~5. 求救一下,用新版的phpstudy,数据库过段时间会消失是什么情况?6. javascript - 如何将一个长为365的数组对象按月份切割成12组?7. PC 手机兼容的 编辑器8. node.js - npm安装模块时,在cmd上显示的是一条白线,白线前面是一天反斜线转圈圈,然后就出现npm ERR错误了,求帮助,谢谢9. 编辑管理员信息时,为什么没有修改过的内容会为空?10. html - angularJS中switch切换开关按钮不能操作
排行榜

网公网安备