V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
solesschong
V2EX  ›  程序员

求 3-5w 同时在线的即时通讯后台

  •  
  •   solesschong · 2014-11-03 21:18:13 +08:00 · 9395 次点击
    这是一个创建于 3671 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近要开发一个手机应用,要带即时通讯的后台,要求3-5w同时在线。

    比较了几个可用的方案
    1. 环信(easemob.com)这类SaaS,缺点是没法进行二次开发。
    2. OpenFire,二次开发,但可扩展性不强,需要升级服务器才行。

    有没有做过手机应用带IM后台的能来稍微说说,指点一二?谢过了!
    35 条回复    2015-01-16 15:44:46 +08:00
    ccinls
        1
    ccinls  
       2014-11-03 21:23:58 +08:00
    可以考虑用netty作做一个,这个量级难度不高
    lsylsy2
        2
    lsylsy2  
       2014-11-03 21:25:44 +08:00
    LeanCloud 以前的AVOSCloud,个人没用过,不过在V2的评价似乎不错,而且他们的定价是“1元/千在线用户/天”,那么支撑3-5W同时在线大概不会是什么问题?
    solesschong
        3
    solesschong  
    OP
       2014-11-03 21:30:38 +08:00
    @lsylsy2 这个之前看过,貌似挺靠谱的。看起来是有国内服务器吧?

    @ccinls 做过觉得难度大吗?如果自己开发的话貌似这个非常靠谱。
    alsotang
        4
    alsotang  
       2014-11-03 21:31:23 +08:00
    @solesschong 那本来就是国内的服务商,肯定有啊
    sunwenjun
        5
    sunwenjun  
       2014-11-03 21:32:25 +08:00
    蘑菇街开源了一款,前台客户端都有。https://github.com/mogutt 不知道是否满足。
    lsylsy2
        6
    lsylsy2  
       2014-11-03 21:32:47 +08:00
    @solesschong 这家主要做的就是国内
    另外如果有能力的话,用Node.js写大概也是一个不错的选择(使用socket.io之类库)
    http://www.zhihu.com/question/19653241 可以参考
    xudshen
        7
    xudshen  
       2014-11-03 21:41:42 +08:00
    还以为是开价3-5W
    (●°u°●)​ 」
    solesschong
        8
    solesschong  
    OP
       2014-11-03 21:54:05 +08:00
    @xudshen 你是想说是高是低~~

    @alsotang @lsylsy2 真没注意。一开始觉得接入了github oauth好洋气,就觉得像是外国的。国人也是越来越争气

    @sunwenjun 看了一下,非常棒,但好像不是很成熟吧?这次需求是快速开发,还是会倾向于选用一个商业一点的。但商业公司发布开源系统,赞一个!!
    88250
        9
    88250  
       2014-11-03 21:57:05 +08:00
    后端的话可以看一下这个: https://github.com/Terry-Mao/gopush-cluster
    solesschong
        10
    solesschong  
    OP
       2014-11-03 21:58:34 +08:00   ❤️ 1
    @88250 野生B3log哥一枚
    solesschong
        11
    solesschong  
    OP
       2014-11-03 22:05:03 +08:00
    @88250 这个心跳支持真心是良心。不过golang还是不敢轻易尝试。
    allenforrest
        12
    allenforrest  
       2014-11-04 00:30:46 +08:00
    openfire 支持这个量级应该 OK,二次开发和扩展性也比较好,缺点是 XMPP 的方案比较耗流量。
    legend9
        13
    legend9  
       2014-11-04 05:37:39 +08:00
    没有足够的时间和预算不要尝试自己开发,选择一个比较好的第三方服务商吧。
    还有xmpp是一个大坑,也不太适合移动端
    odirus
        14
    odirus  
       2014-11-04 09:11:17 +08:00
    我们是在TCP基础上自己拟定协议,自己开发程序,不过耗时比较久,程序正在被考验中。
    Registering
        15
    Registering  
       2014-11-04 09:26:19 +08:00
    @legend9
    之前刚基于openfire基于android开发了一个款XMPP IM。。。。。。额,真心不知道为何说XMPP是大坑
    gotham
        16
    gotham  
       2014-11-04 09:40:36 +08:00
    我最近也在做这个,基本上能达到8w用户同时在线了,我们是自定义协议。用xmpp来搞这个,好多功能我们还用不上。
    teavoid
        17
    teavoid  
       2014-11-04 09:53:54 +08:00
    我之前pomelo做聊天服务器,开发了一个IM的APP.push用的百度。但是现在也想自己整理出一套好的push server的最佳实践。
    solesschong
        18
    solesschong  
    OP
       2014-11-04 09:57:48 +08:00
    @odirus 真是跪了。。
    @allenforrest 不知道openfire是否支持推送?有没有心跳?你说xmpp耗流量,是因为心跳做的不好吗?

    @legend9 是的,目前看来这个比较实际。
    @Registering 可能是太复杂吧。遇到问题可以向你请教吗?

    @gotham 8W也是挺nb
    @teavoid 百度的推送用着怎么样?有人说不太稳定。
    allenforrest
        19
    allenforrest  
       2014-11-04 10:01:12 +08:00
    @solesschong openfire 做推送没问题,也支持双向心跳。xmpp 耗流量不是因为心跳,是因为 xmpp 本身协议设计决定的,文本、XML,太冗余。
    canesten
        20
    canesten  
       2014-11-04 10:11:58 +08:00
    记得Facebook的客户端是MQTT协议的
    在心跳略微频繁的场景下会有比较好的能效比
    lianghui
        21
    lianghui  
       2014-11-04 11:18:05 +08:00
    MQTT绝对适合,手机耗电少,数据包小。
    hjiang
        22
    hjiang  
       2014-11-04 11:59:15 +08:00
    看看 LeanCloud 吧: https://leancloud.cn/features/message.html

    国内实时消息服务的不二之选 :-)
    aszxqw
        23
    aszxqw  
       2014-11-04 12:45:11 +08:00   ❤️ 1
    为什么没人时候说 ejabberd ?
    gotham
        24
    gotham  
       2014-11-04 13:08:22 +08:00
    ejabberd好是好,精通erlang的人少
    hcymk2
        25
    hcymk2  
       2014-11-04 13:20:43 +08:00
    ejabberd 这个协议还是xmpp,估计有人会叫耗流量 耗电。
    lianghui
        26
    lianghui  
       2014-11-04 14:26:55 +08:00
    @hcymk2 对于xmpp手机端不是那么好使,首先网络而言移动网络没有有线网络稳定和宽带大。另外本身协议臃肿会使解析麻烦进而耗电耗流量。在gameloft时使用的是ejabberd作为游戏的im,但结果非常不不尽人意,对世界的广播相当差。不知道是否什么原因,工会到50人而已,延迟相当严重。最后不得不放弃自定义一套简洁的协议和重新设计集群。
    hartonyan
        27
    hartonyan  
       2014-11-04 15:07:34 +08:00
    可以看看亲加通讯云(www.gotye.com.cn),也是国内一家专门为APP提供IM功能的云服务提供商,而且他们架构比较灵活,可以进行二次开发
    yueyoum
        28
    yueyoum  
       2014-11-04 15:13:46 +08:00
    erlang + 自定义消息格式, 一切so easy
    290601953
        29
    290601953  
       2014-11-04 15:17:53 +08:00
    蘑菇街teamtalk开源.
    Registering
        30
    Registering  
       2014-11-05 00:18:18 +08:00
    beatles
        31
    beatles  
       2014-11-05 12:44:47 +08:00
    推荐使用 LeanMessage https://leancloud.cn/features/message.html 文档介绍非常全面 ticket 系统反应也很快 口碑也非常不错
    savegame
        32
    savegame  
       2015-01-09 21:18:16 +08:00
    @290601953 teamtalk 有clone 么,有的话可否mailto : vpn2000.com 在 gmail, 谢谢。
    savegame
        33
    savegame  
       2015-01-09 21:30:17 +08:00
    @290601953 原来 github 已经可以下了。话说怎么删除自己的发言啊.... 居然不会用 v2ex
    sieon
        34
    sieon  
       2015-01-16 15:43:47 +08:00
    可以看一下这个帖子即时通讯云服务,你选的哪家: http://www.v2ex.com/t/136398
    sieon
        35
    sieon  
       2015-01-16 15:44:46 +08:00
    可以试一下容联云通讯www.yuntongxun.com 国内最早的,通讯能力最全的。IM、语音、视频、会议、短信甚至呼叫中心IVR都有。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1549 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 85ms · UTC 17:01 · PVG 01:01 · LAX 09:01 · JFK 12:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.