如何把QQ的所有用户搬上云端?

来源: 云巴巴 2019-09-17 16:00:46

如何把QQ的所有用户搬上云?

前面讲了业务上云的思路和方法,QQ上云是走了这样一个经历。下图就是一张全国地图, QQ业务有三大区域的数据中心,有华北自研,2015年这里曾发生了一个很大的爆炸事件,当时我们还把天津的用户调回了华南和华东区域。上海有华东自研机房,深圳有华南自研机房,在香港还有一些海外的出口。三大区域各有三成多的QQ在线用户

根据用户分布情况,QQ上云时,在华东、华南、华北三地,在腾讯云建设的云机房上,我们创建了业务的公有云网络,然后把QQ业务从各地的自研机房往云上迁移。

QQ上云中业务架构图分成了三大区域,分别是华北、华东、华南,而华南分成了广州云和深圳自研机房两大机房。目前是“三云一地”。每个区域都是完全独立的存储和业务逻辑服务。可以把华南的整个用户全部都调度到华北和华东区。业务随时将用户从不同的云区域和自研区域来回调度。 

1. MySQL数据搬迁

我们接着看下业务的MySQL数据搬迁案例,详细见下图,它有主—从的模式。我们没有通过IP和PORT来寻址,而是通过内部的DNS类名字服务来寻址。先分配业务一个实例的名称,然后通过DNS拿到这个实例的IP端口,再去访问具体的实例。从自研的IDC使用腾讯云DTS迁移工具,把数据导到云的MySQL。数据自动导入完成后,开发团队只需要在云上切换服务就可以完成数据实例的迁移。这种适合一些数据体量不大的业务数据迁移。

还有一种是主—备的模式,即在深圳自研有数据库服务器的主和备,在云机房新部署几台备机。通过主备同步的方式,把所有数据都同步到云机房。然后将云机房的某台备机切换成主机,将自研的主机降级为备机。这样就切换为云机房主备,自研机房备的模式。

2. 数据同步中心

还有更复杂的是数据同步中心。这种是适合业务量非常大,有全国多地分布的业务。服务模块写数据的时候,统一写到各地的接入代理,代理统一写一地,譬如深圳自研的写服务。

写服务的转发存储会将新增记录同时写到各地自研、各地的云机房,实现最终数据一致性。

用户就近读,比如华北的用户,就读华北云的这个数据存储集群,华南就读华南的数据存储存储。

通过同步中心的方式完成大规模数据的混合云同步。当要增加一个成都云区域,我们只需在当地部署好一套同步服务,增加路由服务规则,同步服务就会自动把数据同步到成都的云机房。

这种方式适合对延迟不敏感的业务,譬如社交业务的点赞、发表说说等。一般从深圳自研同步到上海和天津的时候延迟达到几十毫秒,延迟非常高,不适合金融行业等延时高敏感业务模式。

3. 混合云红包的架构

从2014年开始,每年春节腾讯都有春节红包活动,今年春节我们首次在公有云和私有云之间做了红包的两地混合。我们在广州云部署了与自研相同规模的红包服务模块,包括数据集群,在春节前演练及预热阶段,充分对广州云服务做了各种测试和验证,包括跨城专线延迟对业务的影响程度。

红包活动期间,用户在接入的时候根据用户的ID分片或用户来源,通过路由策略分流到广州云机房和深圳自研机房。春节期间,混合云扛住了整个红包活动的用户流量。验证了跨地域的混合云完全能支持亿级的业务大并发流量。当然我们也做了很多方案,比如万一公有云的红包模块没有扛住,我们怎么办?如果我们发现用户在云上有大量失败,我们就把用户在几分钟以内切回到深圳云,甚至把整个业务从云上切回本地,我们有信心去扛云机房的压力。

在上云过程中,QQ研发自身也对业务进行了优化,积极拥抱变化,做了很多处服务的改造,以能够适应新一代的基础设施。

服务逻辑上,很多个业务直接使用云PaaS服务,如长消息、加群逻辑等用了云Redis存储服务。更多的服务迁移到TKE之上,一些内存存储服务,譬如资料、关系链等数据存储层做了链接数、数据副本扩展、混合云单元分布等架构层级的优化改造。

上云前后,上云团队对业务质量非常关注,不断对比二个云之间的可用率、客户访问质量、服务间调用延迟等质量数据。上云前后, 经过各个架构层的优化,业务质量数据最终保持私有云和公有云一致,保证了用户访问体验。

4. 云原生

上云不仅是为了上云,我们更多要拥抱业界开源生态。要用云上优秀成熟的产品和服务。在开发方法、业务交付、云原生服务等方面,业务上云前后已经是部分甚至全部拥抱云原生的体系。我们已经把TAPD研发管理工具、工蜂代码仓库,还有蓝盾、橘子CI、QCI、coding等集成为工具链,在云上打造了一个持续集成、持续部署的DevOps流水线闭环。

目前在云上的交付,业务每周都有几百次的交付是通过容器来完成的,从以前的包交付变成容器交付。

微服务这块,像SF2、SPP、TAF等,我们内部不同业务已经使用了很多微服务框架,并计划在公司内迭代升级更优秀的微服务框架。

5. TKE引擎

K8S平台上,我们用了腾讯的TKE引擎,这是一个跟K8S完全兼容的引擎。我几天前跟一个业界公司聊,他们在腾讯云、阿里云上买了K8S服务,自己内部也部署了K8S集群。他们的容器可以随时、同时交付到腾讯云、阿里云和他们本身的K8S集群,而不用做任何改动。通过容器交付,业务可以不用考虑环境依赖等问题,交付变得更敏捷和轻松

我们基于TKE之上做了功能定制和优化。TKE有基于CPU负载等基础容量的弹性伸缩能力。在TKE优秀的伸缩能力之上,我们还做了功能叠加,包括业务画像,就是根据业务长期的趋势和业务突发活动,去做趋势预测和活动预测,通过算法来预估容量在什么时间窗会达到多少水位,以准备相应的容器资源来提前几小时扩容,应对突发流量。

上云团队、业务研发跟云的TKE团队合作,我们把业务特性跟TKE相融合,来做出一个特性更加丰富、满足业务场景的K8S应用功能。譬如QQ是三地分布,特别是上云后又增加了自研和云的机房属性。原生K8S不支持跨地域的,因此我们做了跨地域的特性。

除此之外还有权限限制,业务对权限要求非常严格,是基于IP鉴权的。比如内部的业务模块访问MySQL时,要授权MySQL要给这些IP放行。容器是很难去做这种基于IP的权限管理,我们的容器都是用了固定IP,每个容器都有自己的IP,交付时注册到CMDB上,并完成鉴权等自动化交付流程。

内部的CI/CD,我们有很多的优秀工具,让业务自行去选择使用,开发团队喜欢什么样的工具,从镜像仓库、到CI、CD、CO都能保持业务自己的习惯。还有包括管理体系、安全、审计、服务监控、日志、告警等功能特性,我们增加和优化了近百个特性,满足TKE与海量业务结合

于是,我们总结了八类的TKE业务应用适配,从业务管理、网络、路由与服务发现、分批发布、权限控制、镜像仓库、网络存储到远程日志。

6. 蓝盾支持云上DevOps的范例

这是蓝盾支持云上DevOps的范例,能够实现计划、需求管理、设计、研发、构建、测试、部署、搭建、监控到运营等一整套工具闭环

所以,从腾讯自研业务上云,再到一些合作伙伴的案例,对于上云的的趋势,我们总结了五点经验:

  • 第一,彻底拥抱云原生,用云来满足业务快速迭代,资源弹性伸缩的需求。
  • 第二,全面拥抱DevOps,研发效率更高效。
  • 第三,内部的优秀工具上云,给云提供更好的服务。
  • 第四,整个开发团队心态更加开放、更加开源,主动与开源社区协同,贡献更多的功能特性。
  • 第五,公有云经受了QQ海量流量的锤炼,我们在上云过程中,经历很多的经验教训,边上云边解决问题,边上云边优化,将整个公有云的基础设施和服务锤炼成更加成熟。

更多产品了解

欢迎扫码加入云巴巴企业数字化交流服务群

产品交流、问题咨询、专业测评

都在这里!

 

评论列表

为你推荐

腾讯云人脸识别技术之人脸核身慧眼是什么

腾讯云人脸识别技术之人脸核身慧眼是什么

在我们现在的生活中,人工智能识别技术被广泛地应用在我们的生活之中。人脸识别技术自然也不例外,刷脸办证、入住、支付等等,腾讯云人脸识别技术做到了“你是你、你真的是你”的一站式解决方案。

2022-11-23 16:06:25

与“视频会议”相关的一些小科普

与“视频会议”相关的一些小科普

铛铛铛!科普时间到!今天要给大家科普的呢是关于“视频会议”的知识。 随着中国企业的发展,主要是建立互联网公司的崛起,以及大型企业集团和其他管理模式的分支机构。视频进行会议越来越受重视,要对网络视频会议有一个比较完整认识,需要从系统软件和硬件两部分来看。

2020-04-16 17:57:02

虹膜识别技术,让智能锁的发展拥有新的方向

虹膜识别技术,让智能锁的发展拥有新的方向

虹膜识别技术从开始研究再到逐渐广泛的被应用到我们身边越来越多的领域,几百年的发展时间也让虹膜识别技术成为了我们身边最为安全的身份认证方式。不仅仅是进行虹膜识别时作为虹膜识别技术的识别对象——我们每个人的虹膜信息有着很多结构特点,而且和其他几种身份认证方式相

2022-11-24 11:07:38

i人事HRM是什么?i人事人力资源SaaS有什么功能?i人事产品评价如何?哪里购买i人事优惠?

i人事HRM是什么?i人事人力资源SaaS有什么功能?i人事产品评价如何?哪里购买i人事优惠?

在现代企业管理中,人力资源管理软件已经成为了不可或缺的工具。其中,i人事HRM作为一款领先的人力资源SaaS,以其全面的功能和优秀的用户体验,赢得了众多企业的青睐。那么,i人事HRM究竟是什么?它的功能有哪些?又是如何获得用户的高度评价的呢?

2023-12-01 14:37:18

汽车行业也需要敏捷开发?腾讯TAPD提升持续交付能力

汽车行业也需要敏捷开发?腾讯TAPD提升持续交付能力

腾讯TAPD提供看板、在线文档、敏捷需求规划、迭代计划&跟踪、任务工时管理、缺陷跟踪管理、测试计划&用例、持续集成、持续交付&部署等丰富的可配置功能,并提供多种敏捷协作解决方案,满足不同客户场景需要。

2023-01-03 17:29:22

企业数据中心运维转型,智能运维如何落地生根?

企业数据中心运维转型,智能运维如何落地生根?

袋鼠云EasyDO数据化运维平台,全方监控,智能告警。EasyDO把各类运维数据,我们也叫机器数据,采集上来,包括设备信息、日志数据、指标信息,也可以从其他监控系统中集成数据。此外事件全生命周期实时跟踪和闭环管控,流程化管理;自动化运维巡检、运维报告,摆脱日常重复性工作。

2024-03-27 14:05:48

严选云产品

爱数 AnyShare Family 7 智能内容云 数字化时代的生产力平台,释放非结构化数据无限潜能
阿商订货宝门店资金账户管理系统 阿商订货宝门店资金账户管理系统为连锁品牌行业搭建的支付+分账一体化工 具,专注连锁品牌类企业分账业务。易品牌是一套集聚合支付、聚合存管、自定义抽佣、门店账户系统为一体的资金存管服务产品。支持连锁品牌全场景支付.
安科瑞电气设备温度监控解决方案 安科瑞电气设备温度监控解决方案,提供一套完善的温度监测方案。在高、低压电力系统中对各电气节点的温度进行准确地监测,确保电力系统安全、稳定、可靠地运行。 采用ATE400安装在母排、电缆搭接处,将采集到的温度数值,通过无线信号传输到ASD500智能操控显示端。
听云小程序业务运维一体化监控分析平台 业务、性能、用户体验一体化监控,听云小程序专注小程序的性能监控与优化,实时监控发现小程序的网络请求错误,JS错误,页面依次等造成小程序用户体验不好的性能问题,并指导快速定位问题。目前已支持微信小程序,百度小程序。
翼鸥教育ClassIn企业培训数字化平台 翼鸥教育ClassIn企业培训数字化平台,收集培训师教学行为数据,引领培训师专业成长,课程迭代。多端登陆,满足学员泛在化与碎片化的学习需求。教学过程多维度加密,通过跑马灯等防护内容外泄。数字化管理测训全过程,数据自动采集分析。
ONES Wiki企业级知识库管理平台 ONES Wiki企业级知识库管理平台,文档在线协同编辑,将文档数字化,编辑协同化,打破时空限制,让企业成员进行知识共创。将文档与业务进行关联,方便文档追溯页面,真正实现从业务中提取知识,知识应用于业务。文档、知识流通,让知识赋能于企业成员,流通过程中注意版本同步,杜绝版本偏差。

甄选10000+数字化产品 为您免费使用

申请试用