node.js - 大用户量怎么做同时推送
黄舟
黄舟 2017-04-17 16:11:40
[MySQL讨论组]

比如现在有10w用户,我想请问下如何对这10w人同时进行推送呢

数据库采用mysql或者mongodb

如果是一台服务器的话,我的做法是把用户分批,比如一批1000人,需要100批,同时操作,然后把查询出来的用户做推送

如果是多台服务器的话,需要怎么操作呢?

想一些第三方的推送工具(比如百度推送、小米推送)他们提供推送到全部设备,这里应该就会有上面的问题吧,他们的推送服务器应该不会是一台,他们是怎么做的处理呢

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(3)
黄舟

一台就慢慢循环发
多台就做任务分发
比如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)...

PHP中文网

查询比率的数据推...

PHP中文网

我们是用的极光推送的服务

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号