QQGame防专线中断系统介绍

先说说背景

  1. QQGame是一个全区全服的休闲类游戏平台和社区,主逻辑服务器部署在四大IDC,核心DB全部在深圳。对跨IDC的专线依赖度很高。
  2. 网平提供专线故障后切VPN的备份机制,当VPN也中断时QQGame在线会下降到0.
  3. 窄带IDC、孤岛IDC无法提供游戏服务。

再说说分析

专线断了进行容灾,无非是数据走外网。外网能抗住么?其实木有人能告诉你。

1.公网包量、流量测试

24小时包量测试:

压力:大约每分钟310w包,每个包为139Byte

结果:在24小时之内一共传输2202271493个包,

成功2202247061个包,失败24432个包。

失败率:0.0011%,

24小时之内失败一共只有5次,为网络抖动。

12小时流量测试:

压力:大约每分钟40w包,每个包大小为4k-10k

结果:深圳IDC入流量:100Mb/s,出流量: 150Mb/s,

收包数等于发包数,无丢包

2.网速测试

非高峰期(6月25日09点)测试结果如下表:

高峰期(6月26日21:30)测试结果如下表:

测试数据表明,

专线在闲时和忙时都很稳定。

外网在忙时ping值会有升高,跨运营商(红色)的ping值可高达200ms. 不夸运营商的情况ping值低于100ms. QQGame跨专线的流量用于玩家登录服务器时获取DB数据,游戏交互过程不受此延时影响,因此对于QQ游戏来说完全可以接受。

外网状况从包量、流量、网速三个方面都可以支撑QQGame跨地域服务器通信需求。

最后说说设计

正常状态下:MainSvr-àProxy---(专线)-àGameDB

专线中断了:MainSvr-àProxy--àOfProxy----(外网)-àObProoxy-àGameDB

惨绝人寰的事情发生了。。。。

专线中断并且外网中断,IDC处于孤岛状态。。

孤岛模式: MainSvr--àProxy--àOfProxy--àNewLCDSvr

偏远地区时可以使用的节省带宽模式:

MainSvr-àProxy--àNewLCDSvr(合并流水后发包给DB)---àOfproxy----(外网)-àObProxy--àGameDB

全貌图:

看看效果吧

QQGame在具备防专线中断容灾能力前,一旦出现专线中断故障,QQGame区域IDC的在线人数会迅速下降。。。趋近于0在线。。。。恐怖。。

7月19日的专线中断演习,系统进行内外网切换的决策的几十秒内有在线的轻微影响。切换完成后,在线完全无影响。

写在最后

QQGame的防专线中断系统的设计思路首先将其作为一个旁路系统,在standby状态时,尽量减少对系统核心架构的影响,没有带来任何额外的专线流量。(NewLCDSvr Cache填充是由正常的专线数据在IDC内ByPass完成。)

其次,作为容灾系统需要有自动化运营能力。否则,真正专线故障时,手动切换带来的时间损耗会大大降低系统的效能。

最后,QQGame这种多地域、多IDC部署的全区全服系统有其自身的特殊需求,在具备了足够大的用群体后才有防专线中断容灾的现实需求。在做系统设计的时候需要因地制宜为了产品、用户而去考虑系统设计,绝对不能为了容灾而容灾、为了设计而设计。共勉。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

马同星的专栏

1 篇文章1 人订阅

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏blackpiglet

代码角度分析《旅行青蛙》:一

  17 年春节前,《旅行青蛙》火的不行,反应慢一拍的我最近才开始迷上这个游戏。最近我的青蛙出去旅行不知所踪好几天了,作为一个不甘心当“佛系青年”的程序员,我想...

743
来自专栏SDNLAB

SDN和NFV对OSS/BSS的影响

笔者近期调研SDN/NFV影响下的OSS,之前自己知识中没有相关的积累,又一直没有比较官方的资料或者观点,所以在整理的时候遇到了瓶颈。最近在ONF网站看到了刚发...

3876
来自专栏SDNLAB

【双语频道】ONOS架构原理

The purpose of this ONOS talk is to convey the rationale behind our approach to ...

3199
来自专栏SDNLAB

SDN驱动网络的敏捷性

当前业务环境的剧烈竞争要求IT基础设施的高度敏捷性,目前业界越来越多的组织不断向云端迁移,但是仍然存在一些不能轻易上云的业务(如银行业务),因为在没有准备充分的...

2564
来自专栏SDNLAB

甲骨文推出以太网交换机 支持SDN和云

编者按:自从移动通信大会上Oracle高调发布新的SDN产品线,甲骨文就正式跻身SDN大军,并且凭借其数据库霸主的身份成功打造自己的优势。日前,甲骨文再次发力,...

3495
来自专栏PPV课数据科学社区

数据分析&数据挖掘入门知识分享(4)

编者按:本文为 数据分析&数据挖掘入门知识分享(3)的连载,还有一部分待上传,欢迎小伙伴们关注学习,若对您有帮助请分享至朋友圈,让更多人学习! 以下图片点击横屏...

3775
来自专栏SDNLAB

Neutron结合SDN的架构分析

编者按:来自武神的最新力作,Neutron 是 OpenStack 核心项目之一,提供云计算环境下的虚拟网络功能,本文将SDN与Neutron结合起来进行架构分...

3055
来自专栏ThoughtWorks

浏览器通讯新标准——WebRTC | 技术雷达

What is WebRTC? WebRTC是Web Real-Time Communication的简称,它是谷歌的一个开源项目,其目的是通过一系列的协议...

2856
来自专栏鸡蛋君

VMBox测评

1082
来自专栏SDNLAB

Neutron结合SDN的架构分析

OpenStack开源社区为云计算提供了最大平台,有多个组件分别实现计算(Nova)、存储(Cinder/Swift)、监控(Ceilometer)和网络(Ne...

3224

扫码关注云+社区