专栏首页腾讯大数据的专栏海量终端,秒级送达!腾讯云移动推送信鸽后台探秘

海量终端,秒级送达!腾讯云移动推送信鸽后台探秘

终端单连接

消息推送已经成为APP的标配,要推送就要有长连接,而长连接要靠后台服务来维持。传统的推送实现中,每个APP使用一条长连接,启动一个后台服务,你一个我一个,android的悲剧就发生了。如果所有的app都集成了信鸽推送,那么装1000个app,手机上会有多少后台服务和长连接?不是998,也不是98,只有1个后台服务,1条长连接!所有终端、后台之间的通讯都会汇聚在这一条连接上传输,配合精心设计的交互协议和逻辑,信鸽把电量、流量、系统资源的消耗降到最低,并且不随app数量增加而明显增长。

海量终端接入

推送秒达的关键,就是终端与后台之间有稳定的长连接。倚仗腾讯遍布全国的数据中心、强大的跨运营商带宽资源以及完善的异地互联专线,信鸽提供全国、全运营商覆盖的终端就近接入能力。接入信鸽,享受QQ、微信级别的网络接入。

信鸽的接入层架构使用了腾讯独步江湖的TGW组件,实现单IP数千万连接的IP收敛和负载均衡能力。接入服务器采用单线程异步架构实现高效的请求转发,8线程8G内存服务器轻松支持百万终端。

海量消息分发

信鸽的系统架构全面贯彻了云时代Scale-out的思想,采用消息存储-转发机制,消息经过简单的两跳路由即可送达终端,平均耗时仅数百毫秒;若目标终端不在线,消息将保存在离线存储中,待目标下次上线时下发。信鸽的存储服务采用可平行扩展的CKV全内存存储和CDB高性能数据库,并发访问量超过每秒60万。信鸽逻辑服务器使用单线程异步逻辑架构,单机每秒请求处理能力可达4万以上。同时,逻辑服务器均采用无状态设计,在高性能负载均衡服务和CVM虚拟机服务的支撑下可以轻松平行扩展,成倍提升消息吞吐能力和终端支撑能力。信鸽现在的部署规模已经达到每分钟千万量级消息吞吐,而且这个能力还会随着业务的不断涌入持续扩张。

作为腾讯云“移动三剑客”之一,信鸽大量使用了腾讯云的成熟技术(包括CVM、CKV、CDB和TGW等),这些技术也是信鸽在实现海量高性能的同时节约成本,为开发者免费服务的关键,更重要的是,通过将价值信息在合适的时间推送给合适的用户,实现应用活跃度和留存率拉升的目的。

本文分享自微信公众号 - 腾讯大数据(tencentbigdata)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2014-07-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 腾讯​信鸽连接一切移动互联网

    腾讯是做什么的?这个问题在近日举办的2014年全球移动互联网大会(GMIC)上,腾讯公司COO任宇昕给出了一个简洁的答案:腾讯就是做连接的。 ...

    腾讯大数据
  • 70/80/90后春节行为数据报告

    序言 猴年春节长假刚刚落幕,年味的气氛犹在。作为中国最隆重的传统节日,团圆饭、放鞭炮、看春晚是春节一直以来不可或缺的元素,但互联网文化也逐渐渗透春节里,成为一种...

    腾讯大数据
  • 让Pig在风暴中飞驰——Pig On Storm

    1以PigOnStorm直面实时应用开发面的挑战 在TRC(Tencent Realtime Computing)系统中TDProcess负责为各个应用提供实时...

    腾讯大数据
  • 如何从VS2003升级到VS2008

    直接使用VS2008打开VS2003的Web项目,提示转换项目,开始转换项目,转换完的结果可能就不是你想要的了,VS2008把它给转换成WebSite模型了,像...

    张善友
  • JavaScript 数据结构与算法之美 - 线性表 (数组、栈、队列、链表)

    笔者写的 JavaScript 数据结构与算法之美 系列用的语言是 JavaScript ,旨在入门数据结构与算法和方便以后复习。

    夜尽天明
  • Python:获取目录下指定后缀的文件

    os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名. 获取当前目录下指定后缀的文件 #!/usr/bin/env python #c...

    行 者
  • Internet与中国

    咻一咻
  • 【未完成】1054 求平均值 (20 分)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    韩旭051
  • Python 技巧篇-让我的程序暂停一下

    它的功能就是当程序执行到这一步就暂停执行,如何继续呢?你在控制端按下任意的键就可以

    小蓝枣
  • Twitter工程师聊JS

    本文是Twitter软件工程师Bonnie Eisenman对JS现状的看法和对开发者的一点建议 01 关于框架 框架的目标是减少繁琐的工作,是基础的脚手架...

    dys

扫码关注云+社区

领取腾讯云代金券