手机QQ的原本的产品定位定位于移动社交,并将娱乐与生活服务相结合,整体的架构模块QQ主要分为登录注册,消息,聊天,联系人,动态,侧边栏,设置等几大模块.其中消息模块和聊天模块是核心模块.好友动态及联系人属于次核心模块,延续了PC端的界面结构.

而qq的后台的IM在转变的过程中,每一个级别的要求的分别都不一样,比如有十几万以及上百万的性能的要求、24小时的连续服务以及时刻不会出现宕机这种致命性的错误。在经过了十年左右的发展之后,虽然来说用户量的增长速度慢慢减慢,但是大部分的忠实的用户还在坚持使用,现在的qq已经到达了上亿级别的使用量,对于性能的要求的更加的严格,在架构的设计上,需要完善代码结构的结构以及层次感。

手机QQ在1.0的时代,由于宣传以及流量使用费用的原因等等,QQ的使用用户的用户量还没有突破到十万级,由此业务的架构不需要多困难的部署,主需要有QQ客户端+接入的服务器+存储的服务器等等组成。只是单纯的完成了QQ登录、添加好友、查看好友的在线状态,并没有发展到像现在这样功能强大。在随后的发展过程中,随着QQ的功能逐渐的健全,用户逐渐的体验到了腾讯爸爸添加的图片视频传输的功能。由此带来的带宽上的压力由长服务器进行解决,还对于存储的轻重进行分类,大大减轻了服务器的压力 。

  然后在QQ的2.0时代,腾讯主要是将QQ的服务器由单点服务器换成了集成的服务器,同时来说还退出了一个更加重要的功能,那就是QQ群,大大的提高了QQ的办公的能力。同时来讲,这个功能也是将QQ的用户,一下推高到了200万左右的地步。

在从全QQ1.0到2.0这个版本的更替的过程中,QQ的架构的最主要的经验:绝对会不用企业级解决方案解决问题、逻辑层多进程、万有一失的无锁,用户状态,mysql分库分表,好友表自写存储的功能

第二个考验便是QQ面临的千万级的考验,在2005年的时刻,QQ的使用人群的同时的在线人数突破到了千万级别,这就对与QQ的服务器的要求变的更加严厉。

QQ在应对这次的挑战,主要的特点是将服务器进行全面的集群,在面临后台的qq用户越来越多的情况下。机器的故障同时也是越来越多,QQ加速了容灾的改造,存储的集群逐渐转变成为半自动化,在后台分布有两台的IDC。其二,在QQ的使用过程中,不断的出现新的bug,以及漏洞采用cade revrew以及灰度测试,解决问题。通过完善报警机制完善出监控机制原始等问题。

4.0在QQ时代中是跨时代的发展,在架构上同时完善了在异地多点登录的情况使用,可以进行管理不同的登录终端,完善QQ的安全性。能够支持5到10个亿同时在线进行交流,这都是巨大的发展。

在未来的5.0以及6.0版本,希望QQ能够越做越大,将使用的人群年龄扩大,完善使用的客户群体,更加的便利人们的生活。

文章参考:http://www.360doc.com/content/17/0906/17/6828497_685039187.shtml

手机QQ架构的浅谈的更多相关文章

  1. 【架构】浅谈web网站架构演变过程

    浅谈web网站架构演变过程   前言 我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变.   该系统具备的功能:   用户模块:用户注册和管理 商品模块:商品展示和管 ...

  2. 手机app开发:浅谈APP登录方式的优劣

    手机app开发公司亿合科技要是给你一个机会设计一款APP,你会用什么方式做这个APP的登录模块?根据APP的业务模型的不同会有不同的设计方法.如果是偏内容型的APP,需要优先展示内容给用户,当用户需要 ...

  3. SOA案例架构分析浅谈

    上课中讲到了SOA架构设计,自己在课下决定总结一下对于SOA架构的理解以及应用. 先总结一下SOA的定义,SOA是面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署.组合和使 ...

  4. 关于mvc架构的浅谈

    MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码 ...

  5. JavaEE 三层架构的浅谈

    三层架构 三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI).业务逻辑层(BLL).数据访问层(DAL).区分层次的目的即为了“高内聚,低 ...

  6. .net架构的浅谈

    ,net的架构有以下几种 1.两层架构:UI + 数据层 2.三层架构:UI + 业务层 + 数据层 3.三层 + 接口层 (把相关的业务层抽象成接口,下层来实现接口,中层是依赖) 4.三层 + 接口 ...

  7. [nRF51822] 14、浅谈蓝牙低功耗(BLE)的几种常见的应用场景及架构(科普类干货)

    蓝牙在短距离无线通信领域占据举足轻重的地位—— 从手机.平板.PC到车载设备, 到耳机.游戏手柄.音响.电视, 再到手环.电子秤.智能医疗器械(血糖仪.数字血压计.血气计.数字脉搏/心率监视器.数字体 ...

  8. 示例浅谈PHP与手机APP开发,即API接口开发

    示例浅谈PHP与手机APP开发,即API接口开发 API(Application Programming Interface,应用程序接口)架构,已经成为目前互联网产品开发中常见的软件架构模式,并且诞 ...

  9. iOS应用架构浅谈

    (整理至http://www.cocoachina.com/ios/20150414/11557.html) 缘由 从事iOS工作一年多了,主要从事QQ钱包SDK开发和财付通app维护,随着对业务的慢 ...

随机推荐

  1. Jetty:部署到Jetty

    Web应用的框架 标准Jetty公布版本号能部署标准servlet Spec Web应用和Jetty内部ContextHandler部署描写叙述符,或者两者的一个混合. Web应用是可部署的动态(se ...

  2. php实现简单验证码的功能

    php实现简单验证码的功能 <!DOCTYPE html> <html> <head lang="en"> <meta charset=& ...

  3. 二重积分的计算 —— 交换积分顺序(exchange the order of integration)

    交换积分顺序的诀窍在数形结合: 1. 几句顺口溜 后积先定限,限内穿条线,先交下限写,后交上限见 先积 x,画横线(平行于 x 轴),右减左: 先积 y,画竖线(平行于 y 轴),上减下: 2. 简单 ...

  4. Oracle 10G 中的"回收站"

    在Oracle 10g数据库中,引入了一个回收站(Recycle Bin)的数据库对象. 回收站,从原理上来说就是一个数据字典表,放置用户Drop掉的数据库对象信息.用户进行Drop操作的对象并没有被 ...

  5. 【转】不要使用SBJSON(json-framework)

    原文网址:http://blog.devtang.com/2012/05/05/do-not-use-sbjson/ 不知道为什么,在iOS开发中,有很多人使用 SBJSON (又被称作json-fr ...

  6. Java:笔记-1

    ylbtech-Java:笔记-1 1.返回顶部 1. /** * 简介请求 * @return */ @RequestMapping("/JJ") public String j ...

  7. day63-webservice 09.jquery调用ajax

    WebService可以有很多种调用方式,除了之前说的,还可以有jquery.拿原生的Ajax做调用,拿jquery怎么调用啊?原生的能调,jquery指定也能调.原生的Ajax是通过网页直接点HTM ...

  8. CTF-Mayday

    打开下载的Mayday.txt文件: 温柔 知足突然好想你  拥抱突然好想你  拥抱温柔 知足温柔 知足突然好想你  拥抱突然好想你  拥抱温柔 知足温柔 知足突然好想你  拥抱突然好想你  拥抱温柔 ...

  9. 在ubuntu中安装Markdown神器Typora

    title: 在ubuntu中安装Markdown神器Typora toc: false date: 2018-09-01 17:48:15 categories: methods tags: ubu ...

  10. AHOI 2009 (BZOJ1798)维护序列 seq (线段树好题?)

    我是不会说这个题很坑的.. 改了一晚上... // by SiriusRen #include <cstdio> #define N 150000 #define LSON l,mid,l ...