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

2014-11-03 21:18:13 +08:00
 solesschong
最近要开发一个手机应用,要带即时通讯的后台,要求3-5w同时在线。

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

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

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

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

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

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

@gotham 8W也是挺nb
@teavoid 百度的推送用着怎么样?有人说不太稳定。
allenforrest
2014-11-04 10:01:12 +08:00
@solesschong openfire 做推送没问题,也支持双向心跳。xmpp 耗流量不是因为心跳,是因为 xmpp 本身协议设计决定的,文本、XML,太冗余。
canesten
2014-11-04 10:11:58 +08:00
记得Facebook的客户端是MQTT协议的
在心跳略微频繁的场景下会有比较好的能效比

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/143717

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX