This topic created in 4429 days ago, the information mentioned may be changed or developed.
现在应用大概有150w用户,日活10w+,两台服务器,一台api,一台数据库。最近几次全员推送,每次都api超时,处于无法全员推送的状态。
我们使用到的技术关键字包括python, thirft, MySQL, peewee, redis, flask
我先说说我的想法。分库分表,缓存,无提示声音推送。
大家都怎么处理这种app全用户推送问题的?有啥思路和建议?
12 replies • 1970-01-01 08:00:00 +08:00
 |
|
2
ovear Mar 26, 2014
queue
|
 |
|
5
9hills Mar 26, 2014 via iPad
按照最大流量重新计算资源,该买机器的买机器
|
 |
|
6
huijiewei Mar 27, 2014
分时间推送啊。
固定时间点开始推送最大可负载的用户量,比如10W。监控这10W用户的访问,然后再根据监控1W,1W的再进行分段推送即可
|
 |
|
7
ericFork Mar 27, 2014
如果使用的是弹性云主机,可以根据历史监控数据推断即将到来的峰值,在给出一定冗余的基础上暂时升级配置,然后根据实时监控数据降低配置
|
 |
|
9
Ricepig Mar 27, 2014
redis模拟一个Queue,推动时把消息enqueue,另外起一个service,有节奏地dequeue并通知.
短信群发都这么做,哈哈
|
 |
|
10
huafang Mar 27, 2014
腾讯已经推出一个推送服务了
|
 |
|
11
openroc Mar 27, 2014 1
如果必须要并发访问,就利用EC2这样的,提前launch多个instance。数据也可以用instance作cache。峰值过去后,在关闭,也很节省。(24个instanche,1小时,相当于,1个instance一天)
|
 |
|
12
GreenHand Mar 27, 2014
如果只是推送后服务器无法承载访问压力,建议部署在云主机上。 如果买主机,可能导致平时资源浪费。
或者,没必要集中推送嘛,如果实时性要求不高的话。
|