原标题:棋牌游戏如何选择合适嘚BGP高防云服务登录器
随着棋牌游戏的迅猛发展,棋牌用户数量的剧增近一两年吸引了不少棋牌运营商的加入。整体的棋牌市场虽然还沒有达到完全饱和的状态但目前的市场状态已然有点浑浊。通常利润高的地方必定会出现竞争的激烈,而棋牌游戏行业更是如此
根據磐石云的2018年上半年游戏行业的DDoS报告显示,游戏行业遭受到的DDoS攻击占比接近40%而游戏行业细分行业中,攻击最多的品类是手游(占比32%)和页游(占比15%)此外,棋牌游戏的攻击占到了11%也是DDoS攻击较多的细分行业之一。
选择高防云服务登录器也成了棋牌运营商的不二之选那究竟要如哬选择适合的高防云服务登录器呢?
首先我们先了解高防云服务登录器的防御类型和防御大小,常见的防火墙防御是介于内部网和外部网、专用网和公共网之间的一种保护墙,通常防火墙分为两种:软件防火墙、硬件防火墙
1、软件防火墙:软件防火墙是依托于操作平台上嘚,通过软件去实现隔离内部网与外部网之间的一种保护墙
2、硬件防火墙:硬件防火墙是镶嵌于系统内部的,由软件和硬件结合而成性能方面和防御方面,硬件防火墙的防御效果都要比软件防火墙要好不少
其次是流量牵引技术,这是一种新型的防御它能区分正常流量和攻击流量,把攻击流量牵引到有具备防御DDOS、CC等攻击的设备上去把流量攻击的方向牵引到其他设备而不是选择自身去硬抗。此种方式通常对机房的带宽要求比较低
其次我们选择BGP高防云服务登录器时,需要注意一下几点:
高防服务器租用线路的选择一般分为单线、双线、多线BGP单线线路常用的是联通线路或者电信线路,双线则是电信/网通两条线路同时接入而多线BGP是用BGP协议实现的单IP双线路。
线路的选择主要考虑站点访问人群是哪些区域,南方访客占据大多数而北方访客比较少的话建议用电信单线就行要是南北方访客都差不多,而且處于业务需要想做全国的业务那双线就是最合适的选择。
带宽越大意味着同时访问网站的人数就越多下载速度也就越快。50M独享带宽指嘚是一台服务器独自使用这50M的带宽而50M共享带宽指的是一个机柜的用户共同使用这50M的带宽。
如不知该选多大的带宽的话可咨询服务商,根据业务情况推荐
防御是棋牌游戏服务器最重要的选择因素之一。一般来说高防云服务登录器指的是独立单个防御30G及以上的云服务登录器类型防御的大小要根据自己的成本和日常被攻击的情况进行选择,防御高低不同价格也从几百到几千不等。总结就是要综合考虑選择比受到的攻击更大的防御。
选择防御比较高的机房比较好福州机房是国内防御比较好的机房,当然还有其他机房选择机房,要看機房承诺的防御机房的配置,包括发电机、线路机房等级等等。
一开始使用高防云服务登录器建议先使用默认配置一般选择8核CPU和8G内存就能满足了,当然具体情况还需根据自己的业务需求作调整
总而言之,选择BGP高防云服务登录器需要根据自己的具体情况决定希望以仩建议对大家有所帮助。如果自己还是不太了解可以咨询磐石云高防云服务登录器,50M独立带宽50G+超大真实防御,多线动态BGP仅需350元。首朤更可0元使用
图一:游戏产品架构进化史
经过菦七年的高速发展公司游戏服务器从100台增长到10000+台,游族整体游戏架构也经过了三个阶段的演变:
-
公司早期广泛使用的第一代架构当时主流的产品都是以DB+计算+前端这样的3个角色开发设计并部署,服务器以物理机为主一个游戏区组需要2~4台服务器,不同的机器承担不同的角銫这种架构方案效率低,基本上不可能实现一天开100个区组(100个区组大概需要400台服务器);
-
随着业务量的增长和虚拟化技术广泛使用游族整体游戏架构更新为第二代架构,全面采用虚拟化技术把一台高配的物理机器虚拟化成多台符合游戏需求的虚拟机来使用,并实现了ALL IN ONE嘚系统架构该架构方案运维效率高,适合规模开展游戏运营但不具备业务高可用特性,一天开100个区组成为常态;
-
为了迎合大区大服、铨球同服游族融合了前两代架构的特点,推出了第三代架构按角色分拆并形成服务集群模式。集群架构结合了物理机与虚拟化的优势实现弹性扩容,游戏逻辑以服务进程或集群配置项的形式提供服务该架构方案运维效率更高,可实现秒级开服同时具备业务高可用特性
基于第二代架构,游族基于OpenStack自己的专有云最初目标是为了提高服务器利用率、降低成本和实现分钟级开服。运维团队以OpenStack
G版为蓝本进荇调优并修改;整个网络采用的是VLAN模式保证最大限度与现有网络架构保持兼容;存储方面使用本地磁盘作为存储。
通过底层优化后游族专有云基本上可以满足业务的需求,目前90%游戏业务运行在上面虚机规模持续保持在10000台以上,游族专有云平台没有提供WEB管理界面日常所有的操作都是通过命令行和脚本的形式进行操作,但对于虚拟机的增删查改重新封装了一层简洁的API接口实现与游族运维平台的对接。經过评估测验在高峰时期,整个专有云资源利用率可达到83%
与三代架构相互对应是游族运维的三个阶段:
-
在第一代架构上,运维基本是掱工运维技术含量并不高,纯粹是采用人与时间堆积进行运维同学需要登录每一台服务器,顺序执行相关的命令和脚本独立的版控垺务器,通过主动推送的形式进行版本更新;
-
在第二代架构上通过自动化工具进行批量运维,团队推出了使用expect写的auto批量脚本所有操作呮需登录一台集控服务器执行批量并发操作的脚本,独立的版控服务器通过并行的主动推送;
-
在第三代架构上,可以实现系统化运维哆个运维系统相互协调配合实现,例如:CMDB、业务树、作业平台等游戏区组搭建的时间基本上可以忽略(可按需求实现按条件触发或手动觸发搭建操作),所有的更新操作在WEB管理平台就可完成
游族作业平台UJOBS
图四:UJOBS架构及其游戏更新流程
系统化运维过程中使用的作业平台(UJOBS)是属于C/S的架构,其核心部分由任务调度器和agent组成通过调用API接口完成多种形式的指令下发。UJOBS简单的来说是为服务器管理提供了执行命令嘚通道将所有的执行命令和脚本在目标服务器横向执行完,把输出结果记录日志里面同时可通过WEB界面实时查看分析。任务调度器是用來全局策略控制进行并发量控制。任务列表里面保存任务的完整信息指令仓库保存常用的命令个脚本和上下文关联的命令组合。
在UJOBS平囼上游戏版本更新流程如下:
-
版本库的版本变更自动触发构建;
-
从版本库拉取变更后的版本文件;
-
通过构建操作后,推送目标程序到分咘式的全局版控服务器集群;
-
在作业平台下发更新操作后UJOBS的agent取得该次更新的版控服务器地址、变更清单以及版本信息;
-
从版控服务器拉取更新文件到本地执行预定的更新脚本;
同时在UJOBS执行的过程中可实时查看输出的日志。当游戏版本更新出现异常有两种回滚方式:第一種,游戏服务器上保留历史版本异常时回退到历史版本;第二种,覆盖回滚将老版本再次发布进行回滚。
相对于游戏版本更新备份而訁数据库备份更为重要。ALL IN ONE模式或者非集群模式的游戏业务场景下会存在多达好几千个MySQL实例,若是要按常规的MySQL备份方案来实施管理难喥和成本都要翻好倍。因此游族网络采用Xtrabackup在主库上直接备份数据文件方式备份文件暂存本地;本地备份完成后在备份系统选举一台远程垺务器进行异地备份;备份策略每小时一次备份,半小时本地备份半小时远程备份该备份方法在单主库业务场景下可能是最靠谱的数据備份方案,但备份过程对主库会有影响、(限制IO操作)最坏情况下可能出现1小时的数据丢失(业务接受少量的数据丢失)。
在数据恢复方面通过一键恢复工具,只需要提供恢复的IP、时间段和业务信息(如库名)即可实现数据恢复;24小时内的数据通过本地的数据恢复(结匼二进制日志)超过24小时的数据通过异地数据恢复。
图六:老游戏的平滑迁移方案
现在游族已经将几款老游戏迁移到阿里云上在将ALL IN ONE架構平滑迁移到云上的过程中,首先要求就是迁移过程不能长时间停服只能接受正常的版本更新的停服时间。整个迁移过程分为以下几步:
第一步提前准备资源在阿里云提前申请好资源,初始化环境并把专有网络与自有机房的网络打通实现内网互通为数据同步做好准备;
第二步提前同步数据,使用Xtrabackup备份在线把MySQL配置成主从同步模式将数据同步到阿里云ECS,在一段时间后完成数据迁移
第三步正式迁移,正瑺的游戏停服维护时间(0.5~2小时)就可完成业务上阿里云的迁移目前已经平滑完成3款游戏产品的迁移,每款产品准备时间3~5天正式迁移用時1~2小时,在阿里云平台使用的虚机超过1000台
图七:新游戏上阿里云部署方案
上图为ALL IN ONE架构迁移在阿里云后的游戏部署:游戏逻辑运行在云服務登录器上,业务中使用专有网络通过自建的ULB对外提供服务。游族网络下一步计划将集群模式部署在阿里云平台上游戏逻辑将在云服務登录器集群运行,后端数据存储在云数据库集群中前端通过SLB和负载均衡保证业务高可用,同时会接入LOG和大数据计算服务MaxComputer确保大数据业務
图八:阿里云技术支持保障
在迁移到云的过程中,阿里云的技术支持起到了关键作用线上线下及时沟通,以及特定技术的定制保證了整个迁移过程的顺利进行。
如何去选择合适的数据库
图九:自建MySQL与云数据库选择
在游戏迁移过程中,遇到了很多困难其中一点是選择自建MySQL还是云数据库。根据游戏迁移经验解决该问题,他认为应从以下三个因素进行考虑:
1.实例数量:实例数量多且业务规模小(无需进行针对性的优化)适合自建MySQL服务;实例数量不多业务相对会比较集中数据库负载较高需要针对性的进行优化适合使用云数据库服务;
2.数据大小:数据量的大小会直接影响到数据库性能和数据备份的机制,数据量越大越需要对数据库进行精细化管理数据的备份难度也樾大,这种情况下建议使用RDS服务反之可自建;
3.成本核算:从实例规格来看云数据库会比云服务登录器自建MySQL要贵,但若是必须用到云数据庫的某些特性(如:数据安全和稳定性)时成本也就不会放在首要位置了
与此同时,大数据量的自建MySQL可以采用延时同步的方法此方法巳在游族网络的女神联盟(手游)的集群架构方案中在使用。游族运维团队独创的数据备份系统、UJOBS、业务网关等独具特色解决方案确保了其业务量在行业内处于领先地位
1、游族目前的运维人员数量是多少?
答:游族网络最初运维团队在二十人以上经过技术优化后,目前團队人数在十人左右从原来的十几款产品到现在的三十几款产品,运维业务量增长一倍整个运维团队人员缩减一半。团队不断将技术轉化为生产力这是一个持续推进的过程。
2、从运维小白到总监的成长过程
答:首先,我对运维这个行业保持很高的兴趣从游戏对战岼台接触运维开始,就愿意持续花时间投入游戏运维曾耗费两天三夜的时间来处理运维中遇到的故障。当然最初也是从底层的运维人员莋起团队管理是被逼出来的,是一个慢慢成长的过程在团队中,学习应居于首位每个运维人员需要不断地学习,提升自己的能力
3、DB除了MySQL还有其他类型吗?比如NoSQL这类数据库是如何管理和部署的
答:游族网络的产品绝大多数都是使用的MySQL,有少数产品使用了Mongodb因为量少暫时还是通过手工管理;缓存业务有使用Redis但不存储关键数据,Redis的数据备份使用数据备份系统进行集中管理所有的软件部署都是通过标准囮的业务模板进行管理的。
4、在新方案中大数据计算服务MaxComputer的应用场景是什么?
答:在游族之前的架构中游戏日志是分开存储,易丢失在新的架构中,通过Log服务将游戏日志搜集到大数据计算服务MaxComputer对后续的游戏和运维数据分析提供便利支持。
5、数据库的部分是单DB多实例嗎有没有启用分布式DB的架构呢?
答:ALL IN ONE架构下在一个MySQL实例中只运行一个业务;在集群架构下,在单DB实例下会运行多个业务,分布式DB架構也相应是必备的
6、游族专有云是用的OpenStack,本身组件很多后续和公有云之间如何衔接的?
答:目前游族使用OpenStack仅限于机房短时间内不会與社区版本同步,机房内修改和使用都很简单整个OpenStack定制和修改不多,更多着重于框架的使用
7、国际节点和国内节点的高可靠链路如何建立?
答:该链路使用的基本资源是遍布全球的阿里巴巴骨干网阿里云是将自己的资源分享出来给使用VPC的客户,实现国内外高可靠链路嘚建立
李志勇,2010年加入游族网络目前担任游族网络运维总监,全面负责游族网络运维业务他具有十年运维工作经验,八年游戏行业從业经验专注于游戏虚拟化技术和网络优化。
游族网络:游族网络是全球领先的轻娱乐供应商成立于2009年,于2014年登陆资本市场成为国內A股主板第一游戏股,其核心业务包括:全球游戏发行、互联网流量经营、IP开发与运营、互联网产品研发和泛娱乐产业投资