如何搭建一个可靠的支持百万用户数量级的APNS? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
FiberCore
V2EX    iDev

如何搭建一个可靠的支持百万用户数量级的APNS?

  •  
  •   FiberCore 2012-07-26 16:35:56 +08:00 7137 次点击
    这是一个创建于 4899 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我是做iOS应用开发的,本来使用的urbanairship的服务,确实方便。但是一轮限免活动下来,用户很快要超过百万,这个数量已超过urbanairship提供的免费服务范围,如果继续使用push功能,价格就太贵了,实在用不起。我开始考虑自己搭建APNS,发现已不少方案,因为我有一个虚拟网站空间bluehost,支持php,打算使用类似easyapns这样的代码搭建,现在有个问题?

    我的push虽然不会很频繁,大概每个月发一次吧,但是量很大,这样的话只是虚拟空间数据库+3个php script,能支持好吗?

    如果不能,有什么好的解决方案吗?parse和urbanairship一样,价格也一样,就不在考虑范围了
    11 条回复    1970-01-01 08:00:00 +08:00
    shinyzhu
        1
    shinyzhu  
       2012-07-26 16:42:06 +08:00
    这个:
    /t/17760
    FiberCore
        2
    FiberCore  
    OP
       2012-07-26 16:44:07 +08:00
    @shinyzhu 谢谢阿,已经看过这个了。不过大家认同的还是使用parse等服务,这个确实好,但是一旦超过免费范围,那价格。。。
    soulhacker
        3
    soulhacker  
       2012-07-26 17:10:28 +08:00
    APNS=Apple Push Notification Service,是苹果的服务,你没法搭建的;你说的应该是 provider 的部分吧,我们试过的 parse.compush.io 都不错的,不过要是价格敏感还是自己开发较好,仔细看看 Apple 的文档,做个 provider 不是很难吧。。。
    FiberCore
        4
    FiberCore  
    OP
       2012-07-26 17:33:05 +08:00
    @soulhacker 我不是说难,是说性能
    sykp241095
        5
    sykp241095  
       2012-07-26 17:51:14 +08:00
    dev-python/pyapns
    tokune
        6
    tokune  
       2012-07-26 17:55:41 +08:00
    X...都百万用户了..赚都赚死你啦..要找免费的啊..
    felinx
        7
    felinx  
       2012-07-27 17:32:44 +08:00
    每个月就发次把,一次百万,这个其实量很小啊,一个队列搞定。
    xatest
        8
    xatest  
       2012-07-27 19:08:47 +08:00
    自己搭的话可以考虑用APN Proxy,是SAE的员工做的。
    ewangke
        9
    ewangke  
       2012-07-27 20:36:13 +08:00
    每个月100万条,对于每月群发一次的单个应用一定是够的。urbanairship的计费是只统计active token的,你会保证每个月都有100万的active token么(是的话恭喜你了)?

    如果自己做,性能的事情再说。
    由于你用的是空间,空间的提供商可能不允许你做这个事情。所以至少要有个vps
    provider部分有很多成熟的开源实现,php, python, ruby都有,哪个语言熟用哪个
    此外你还需要有个db来保存token
    如果考虑多语言和时区,db里面还需要保存lang和timezone的信息

    provider都有batch push的功能,所以性能不会像你想象的那么差
    实在性能有问题的话,可以使用一个队列来拆分batch push,分批推送
    assad
        10
    assad  
       2013-08-25 23:17:05 +08:00
    我现在为我们公司做的,是每月360M的量,3.6亿条!
    hjiang
        11
    hjiang  
       2014-04-08 00:18:24 +08:00
    可以用 AVOS Cloud 的 push (http://avoscloud.com),完全免费。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5664 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 03:00 PVG 11:00 LAX 19:00 JFK 22:00
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86