在 Android 上,因为 Google 自己实现的 Android 标配的 GCM (Google Cloud Messaging,原来叫 C2DM) 在国内基本不可用,所以,对于开发者来说,如果需要 Push功能,怎么样选择成为了一个问题。 到目前为止,国内尚没有完全向开发者免费、开放的 Push 服务可用。国外有几家第三方推送服务,但一般都要收费。所以一般来说,国内的开发者不得不考虑自己来搭建 Push服务。 自己构建 Push服务时,一个比较自然的选择就是,基于开源的现在方案来做。 使用 Google或者百度搜索 “Android Push 推送”等关键词,表明已经有不少人研究过。排在前边的是这样几篇文章:
上面文章提及的方案里,基本上都提及了一个开源的 Android Push实现: androidpn。 先说服务器端选择。Openfire 是一个 XMPP 最古老的开源 IM Server,几乎所有做 IM 的都应该有研究过。但是,它也是最不合适运用到生产的 IM Server,因为:单机并发很有限,集群方案不成熟,代码古老而缺乏及时更新。举个具体的例子:Openfire 的集群组件叫 Connection Manager,但是,你在 Openfire官方网站可以看到,最近一个版本是 2009 年 2 月份发布的。可见,基于Openfire 实现的 androidpn 的根基是不够稳的。 更新:与一个基于 Openfire 做聊天App的朋友交流,他们的用户量比较大,有多个 Openfire 节点做集群。他们对 Openfire 做了很多改造,比如 XMPP 协议交互复杂,要简化;XMPP 协议文本臃肿,则转换为二进制。集群方面,则完全是自己重新开发的。他们最多单点负载 30 万用户。 总结一下以 androidpn 为典型的开源 Android Push 方案会存在的问题: 基于我们团队基于 XMPP开源系统实现聊天App的实践经验,我们得出的结论是,在移动端的 IM场景里,开源方案不是个可用好用的方案。后来我们自己完全重新架构了整套系统。之后,正是基于这套全新架构的 IM 系统,演变出来了极光推送。 |
当前名称:AndroidPush开源方案解析
文章分享:http://www.csdahua.cn/qtweb/news22/449822.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网