欢迎访问必发888手机版公司网站!


88必发手机版

MENU

88必发手机版

云平台采用直接就可用的服务方式提供,为了解决这些痛点我们最终考虑上云

点击: 93 次  来源:http://www.khaido.com 时间:2019-12-11

原标题:车联网上云最佳实践(二)

摘要: 我们以基于Oracle数据库的应用系统上云为例,如何根据实际需求,及不同的应用特征,去选择合适的上云解决方案?看懂了以下这张图,就能找到最适合你的应用系统总体的迁移上云路径。

阿里云----飞天开放服务

本节从整体上简要介绍飞天开放服务,包括弹性计算服务(ECS)、开放存储服务(OSS)、开放结构化数据服务(OTS)、关系型数据库服务(RDS)、开放数据处理服务(ODPS)和云服务引擎(ACE)。这些开放服务运行在飞天平台内核之上,具有以下一些共同的特点。

Ø全托管式服务:开放服务运行在数据中心的公共云平台之上,用户无须关心硬件设备的采购和软件系统的配置、管理,这些服务以全托管的方式为用户提供直接可用的软件服务。这样,用户可以专注在应用层逻辑的设计与实现,按照实际使用的多少进行付费,因此减少了初期在基础设施上的投入,节省了应用的成本。此外,开放服务还向用户提供详细的资源使用统计、性能指标和操作日志,方便用户调查错误和分析应用的行为。开放服务由阿里云的专业人士进行维护和优化,提供高端的基础设施和网络安全保障,用户无须担心数据备份、故障恢复和扩展升级等方面的问题。

Ø数据安全可靠:开放服务都采用盘古作为底层的存储,所有数据都为多份冗余存储。底层存储系统会自动处理集群中的硬件和软件错误,对用户屏蔽这些错误。此外,用户的数据在存储层完全被隔离,用户对数据的访问必须通过身份验证的机制,有效地保障了用户数据的安全和隐私。

Ø可扩展性:开放服务提供的资源完全可以随着用户使用负载的变化而弹性伸缩,用户只需要专注自身最核心的业务,而不用担心数据量的激增带来的数据可靠性和客户访问的性能问题。例如,在OTS服务中,系统通过对表进行横向切分(Partitioning)来实现规模的扩展,数据均匀地散落到多个存储节点上,可以通过增加机器和调整调度实现服务整体规模的扩展。

干货推荐:如何运维千台以上游戏云服务器——游族网络

摘要: 我们对传统IDC应用架构进行分析之后,我们发现之前的系统架构存在一些不合理的地方导致了很多的痛点,为了解决这些痛点我们最终考虑上云。开始思考怎样利用云上产品来解决目前遇到的痛点。例如

传统架构注重于硬件上的高可用,云平台通过分布式架构已经确保自身服务的高可用,并且集成了备份,监控,HA,审计等一系列基础运维服务,云平台采用直接就可用的服务方式提供,使用方随时购买随时就可用,无需考虑一系列繁琐的底层运维,使用方可以更加专注于业务上的研发。

弹性计算服务(ECS)

弹性计算服务(ECS)为用户提供一个根据需求动态运行的虚拟服务器的环境。对于ECS提供的虚拟服务器,用户可以像使用一台物理机器一样进行各种操作。ECS允许用户根据自己的需要,租用多台虚拟服务器来完成各种任务。在运行的过程中,用户也可以根据计算资源的需要动态增加或减少虚拟服务器的数量。

对于用户来说,弹性计算服务解决了业务的周期性变化带来的资源利用率不高和IT成本高的问题。同时,弹性计算服务还可以减少IT采购的周期,提供数据的可靠存储和可扩展的能力,并可以有效地减少网络安全的威胁。

针对弹性计算服务,阿里云还提供了云监控、云盾和负载均衡这三个产品。

Ø云监控为云服务器提供第三方监控服务,可以及时发现故障并通过多种方式报警,包括网站、Ping、TCP端口、UDP端口、DNS、POP3、SMTP、FTP等监控。云监控除了可以为ECS提供安全有效的监控服务外,还能为其他自由服务器提供监控服务,用户只需要通过简单的配置即可实现各种监控需求。

Ø云盾为云服务器提供一站式安全增值服务,包括安全体检(网页漏洞检测、网页挂马检测)、安全管家(防DDOS服务、端口安全检测、网站后门检测、异地登录提醒、主机密码暴力破解防御)等功能。

Ø负载均衡(Server LoadBalancer,SLB)通过设置虚拟IP,将位于同一数据中心的多台云服务器资源虚拟成一个高性能、高可用的应用服务池,再根据应用特性,将来自客户端的网络请求分发到云服务器池中。SLB会检查池中云服务器的健康状态,自动隔离异常状态云服务器。同时,SLB还可以增强云服务器池的抗攻击能力、安全隔离应用和云服务器。云服务器无须特殊设置即可透明接入SLB。

 

云上对标架构及技术详解

我们以基于Oracle数据库的应用系统上云为例,如何根据实际需求,及不同的应用特征,去选择合适的上云解决方案?看懂了以下这张图,就能找到最适合你的应用系统总体的迁移上云路径。

开放存储服务(OSS)

开放存储服务(OSS)是阿里云对外提供的海量、安全、低成本和高可靠的云存储服务。OSS支持海量的文件存储,同时在多个地方调用呈现,极大地简化了用户数据管理、迁移和更新的工作。用户可以通过简单的RESTful API(RESTful API的介绍参见附录B.1),在任何时间、任何地点、任何互联网设备上进行上传和下载数据,也可以使用Web页面对数据进行管理。OSS目前已经在多个云存储服务、电子商务网站和手机应用网站中使用,提供包括图片、软件和音视频文件在内的存储和互联网访问服务。

在OSS中,用户文件都是以Object的方式存储,每个Object包含名称、数据和用户存储的关于Object的元数据(Metadata)。由于OSS中Object不允许重命名和部分修改,因此,OSS服务适合于存储写一次、读多次的数据,例如,视频、音频、图片和备份文件等。OSS支持对整个Object内容进行替换的修改操作。

OSS的命名空间采用Bucket的方式:每个Bucket中可以存储任意数量的Object,但Bucket本身并不直接包含任何数据。存储在OSS上的每个Object必须都属于某个Bucket,Bucket名在整个OSS系统中具有全局唯一性,且不能修改。如果一个Bucket名已经被某个用户使用,那么其他用户都不能再使用这个Bucket名。OSS目前提供Bucket级别的访问权限控制,包括public-read-write、public-read和private这三种访问权限。

来自上海游族网络的运维总监李志勇,在3月4日云栖社区中带来的分享“如何运维千台以上游戏云服务器”。本次分享重点是云时代的运维,包括游戏上云部署整体方案、游戏服务器批量运维管理,并对企业选择RDS还是自建MySQL数据库给出了自己建议。

我们对传统IDC应用架构进行分析之后,我们发现之前的系统架构存在一些不合理的地方导致了很多的痛点,为了解决这些痛点我们最终考虑上云。开始思考怎样利用云上产品来解决目前遇到的痛点。例如

必发888手机版 1

开放结构化数据服务(OTS)

开放结构化数据服务(OTS)是阿里云对外提供的支持海量结构化和半结构化数据存储与实时访问的服务。OTS以表的方式存储数据,保证强一致性。一个用户可以拥有多个表,每个表中包含任意多行数据,每一行又可以包含任意多个列,除主键外的列不需要在创建表时指定。OTS还支持视图、表组和事务等高级功能。用户可以在表中查询、插入、修改和删除数据。用户可以通过RESTful API来使用服务,也可使用Web Portal页面对数据进行管理。

OTS目前在多个互联网应用场景中得到成功的使用,提供结构化数据的存储和实时访问服务。用户使用OTS可以免去雇用专人来管理和维护数据库软件的开销。OTS服务按实际使用量付费的方式也降低了客户的使用成本。用户也无须担心随着应用规模的不断扩大,数据量和并发访问的可扩展性需求,OTS服务通过自动扩展的方式为应用的长期快速发展解决后顾之忧。

 

 为了解决我们自建IDC底层基础设施可靠性差的问题,我们改用云计算服务,基础设施可靠性,异地容灾,数据备份,数据安全等问题再也不用担心;

迁云项目耗时耗力,迁移改造效率很低。阿里云专家提供上云全方位服务,降低上云技术风险和资源成本。包括在线业务系统上云、离线业务大数据上云、技术支撑、应用上云实施、数据迁移实施、大数据实施等。

关系型数据库服务(RDS)

关系型数据库服务(RDS)通过Web方式为用户提供可以在几分钟内生成并投入生产的、经过优化的数据库实例,支持MySQL和微软SQL Server这两种关系型数据库,适合于各行业中小企业的关系型数据库应用。使用阿里云的RDS服务能够使得中小企业根据业务规模发展的需要快速部署适合自己的数据库实例,因而无须购买昂贵的硬件和聘用管理维护人员,降低了企业使用数据库的综合成本。

RDS提供的数据库与用户自己搭建的数据库环境和使用方式完全相同,用户只需要使用通用的数据导入导出工具即可直接将已有的数据库迁移至RDS服务中。由于RDS数据库硬件和数据都部署在云端,利用阿里云提供的基础设施、网络安全保障、专业的系统运维维护及热备服务,数据库的备份、恢复和扩展升级等日常管理功能都极大地得到了简化。

以上RDS提供的各项功能及服务都不需要前期投资,用户只需要根据使用量进行付费即可。传统企业自建数据库的方式一般存在设备利用率偏低、不能按需部署、无法快速应对规模变化以及投入成本过高、维护成本高和建设周期过长等问题。而RDS相对于用户自建数据库具有低成本、高效率、高可靠、灵活易用等优点,使企业有更多的时间聚焦于自身的核心业务上面。

关于分享者:

 为了解决存储性能瓶颈以及用户访问体验问题,我们改用云上对象存储OSS服务+CDN;

对于应用系统是否可直接迁移上云主要看数据库是否去O,是沿用原有的Oracle数据库还是采用阿里云提供的数据库,主要从以下几个方面判断:

开放数据处理服务(ODPS)

开放数据处理服务(ODPS)提供了大规模数据的离线处理和分析服务,它以RESTful API的形式支持基于描述性查询语言SQL的数据处理,并提供MapReduce[12]的并行计算框架。ODPS重点面向数据量大(PB级别)且实时性要求不高的海量数据分析应用,适用于海量数据统计、数据建模、数据挖掘、数据商业智能等互联网应用。

ODPS提供了SQL与MapReduce两种API供用户开发调用。ODPS SQL采用类似SQL的语法来处理大规模(PB级别)数据,适合于处理强调数据吞吐量的离线任务。ODPS SQL 提供了大量操作海量数据的SQL语法支持(API),例如,创建、删除表和视图的DDL语法,更新表的DML语法等。为了方便用户完成数据处理的各类任务,ODPS SQL还提供了很多高级功能,例如,窗口函数、用户自定义函数、存储过程等。与数据库相比,ODPS SQL并不具备数据库的一些特征,包括事务和主键约束。ODPS SQL的优势在于能够快速处理海量数据,它能够将多个SQL语句以它们之间的数据依赖关系组成一个工作流,然后以执行工作流的方式完成复杂的数据分析功能。

ODPS的MapReduce语法与Hadoop[19] MapReduce类似,基于此编程框架编写的程序以一种可靠容错的模式运行在由数千个通用服务器搭建的大规模集群上,能并行处理PB级别的海量数据。与Hadoop上使用的MapReduce相比,ODPS为用户提供了开箱即用(Out-of-Box)的离线数据处理环境,用户在注册ODPS账号以后即可使用。这样,用户可以集中精力于业务逻辑的实现上,而不用关心环境的搭建、配置、监控和调优。

李志勇,2010年加入游族网络,目前担任游族网络运维总监,全面负责游族网络运维业务。他具有十年运维工作经验,八年游戏行业从业经验,专注于游戏虚拟化技术和网络优化。

 为了解决单台数据库性能扩展瓶颈,我们改用云上的DRDS分布式关系数据库;

系统的复杂度。应用对数据库特征强依赖,以及应用层对数据库的强耦合会导致去O的难度和风险增加。如果去O的难度和风险达到不可控范围,则可以考虑直接迁移上云;

 

 为了解决大规模的车机上报而导致数据写入延迟问题我们改用云上IOT套件+HiTSDB;

迁移周期要求。应用系统去O会带来更长的迁移周期,若对应用系统迁移上云迁移的周期有严格的要求,则可以选择直接迁移上云;

云服务引擎(ACE)

云服务引擎(ACE)是飞天平台提供的一个基于云计算基础架构的网络应用程序托管环境,帮助应用开发者简化网络应用程序的构建和维护,并可根据应用访问量和数据存储的增长进行动态扩展。

ACE支持PHP和Node.js语言编写的应用程序,支持标准的关系型数据库(例如MySQL)、Memcache、Cron、Session和Storage,同时增加一些高级特性来满足开发者的需求。ACE选择PHP作为首选支持语言,ACE的PHP Runtime和官方标准PHP环境几乎完全一样,99%的代码可以不加任何修改就可以完美地运行在ACE环境中。出于安全和性能的考虑,ACE对标准PHP进行了一些扩展和改进。

截至本书出版时,ACE还在开发中,相应的API也没有对外开放。因此,在本书接下来的章节中不单独详细描述ACE,只是在附录D中介绍移动终端云应用开发时,简单介绍云应用怎样利用ACE空间来开发云端服务接口。

 

必发888手机版 2

 

本文节选自《飞天开放平台编程指南——阿里云计算的实践(双色)》

周憬宇,李武军,过敏意编著

电子工业出版社出版

分享正文:

 为了解决日常以及节假日流量高峰的问题,我们改用云上弹性伸缩服务+按量付费,以最低的成本完美解决日常及节假日流量高峰;

性能要求。相对而言,采用直接迁移上云的方式对数据库的性能会有所限制,同时数据库的性能扩展空间有限,所以选择直接迁移上云方式的应用必须考虑在规划的系统运行周期内性能上无较大规模的扩展要求。

 

 为了解决大数据存储瓶颈以及降低大数据开发分析工作难度,我们改用云上MaxCompute

高可用要求。采用直接迁移上云方式是在ECS上部署Oracle数据库环境,数据库的高可用由用户来保障;若采用阿里云产品,则数据库的高可用可有阿里云保障。所以,直接迁移上云后数据库的高可用级别是否能够达到实际应用的运行要求也是判断应用是否直接迁移上云的重要方面。

游戏产品架构进化史

  • HBase;

应用系统对数据库的IOPS性能要求较低且以IO读为主、延时在毫秒级,认为是低性能要求的。在迁移上云方案上可采用在ECS上直接部署Oracle构建数据库,具体迁移上云方法:

 

 为了解决运维自动化问题以及提高运维工作效率,我们改用云上codepipeine+云监控+日志服务+容器服务;

1) 应用层基于ECS部署运行环境,应用程序直接迁移,同时修改应用程序的数据库连接;

 必发888手机版 3

 为了解决安全防御瓶颈,我们改用云上云盾+DDOS高防IP + web应用防火墙+堡垒机;

2) 数据层基于ECS部署Oracle数据库,Oracle的数据存储采用ECS提供的云磁盘。数据库的迁移直接通过RMAN实现快速迁移。

图一:游戏产品架构进化史

 为了解决负载均衡以及网络扩容瓶颈,我们改用云上SLB;

应用系统对数据库的IO读写性能要求高、延时在微秒级以内,认为是高性能要求的,在迁移上云方案上考虑采用ECS(采用本地SSD存储)上直接部署Oracle构建数据库,具体迁移上云方法:

 

必发888手机版 , 为了降低上云迁移复杂性,我们改用云上VPC虚拟专用网络,IP地址可以和原来保持不变;

1) 应用层基于ECS部署运行环境,应用程序直接迁移,同时修改应用程序的数据库连接;

经过近七年的高速发展,公司游戏服务器从100台增长到10000+台,游族整体游戏架构也经过了三个阶段的演变:

 为了解决数据迁移的稳定性和便捷性,我们采用阿里云数据迁移工具DTS;

2) 数据层基于ECS部署Oracle数据库,Oracle的数据存储采用ECS提供的SSD磁盘。数据库的迁移直接通过RMAN实现快速迁移。

  • 公司早期广泛使用的第一代架构,当时主流的产品都是以DB+计算+前端这样的3个角色开发设计并部署,服务器以物理机为主,一个游戏区组需要2~4台服务器,不同的机器承担不同的角色。这种架构方案效率低,基本上不可能实现一天开100个区组(100个区组大概需要400台服务器);
  • 随着业务量的增长和虚拟化技术广泛使用,游族整体游戏架构更新为第二代架构,全面采用虚拟化技术,把一台高配的物理机器虚拟化成多台符合游戏需求的虚拟机来使用,并实现了ALL IN ONE的系统架构。该架构方案运维效率高,适合规模开展游戏运营,但不具备业务高可用特性,一天开100个区组成为常态;
  • 为了迎合大区大服、全球同服,游族融合了前两代架构的特点,推出了第三代架构,按角色分拆并形成服务集群模式。集群架构结合了物理机与虚拟化的优势,实现弹性扩容,游戏逻辑以服务进程或集群配置项的形式提供服务。该架构方案运维效率更高,可实现秒级开服同时具备业务高可用特性。

我们云上新的应用架构即会兼容部分老应用架构的特性,同时会采用云上新技术和云上产品来解决我们曾经的痛点和瓶颈。并且云上新架构需要满足未来2-3年的业务发展规划,能够支撑千万级用户规模的应用系统架构。下图为云上应用架构图。

如果考虑到高可用的要求,可以配置一个相同的ECS实例为数据库的备机,主备之间通过Oracle Data Guard做数据同步,当主机宕机后,备机可以接管服务,切换时间通常在分钟级别。

 

必发888手机版 4

自建的数据库系统,计划将数据迁移至阿里云云数据库,需要阿里云数据库专家评估方案,协助完成数据库迁移工作。云数据库实例间的数据迁移,需要阿里云专业DBA协助完成迁移工作。

基于第二代架构,游族基于OpenStack自己的私有云,最初目标是为了提高服务器利用率、降低成本和实现分钟级开服。运维团队以OpenStack G版为蓝本进行调优并修改;整个网络采用的是VLAN模式,保证最大限度与现有网络架构保持兼容;存储方面使用本地磁盘作为存储。

1、云上对标架构介绍

对于传统应用系统,其原有的架构设计和采用的数据库、中间件与阿里云产品存在较大的差异,对于这种情况,需要对原有应用系统进行改造后迁移上云。针对不同类型的应用系统,其改造的方案也有所不同,一般将应用系统分为OLTP类型、OLAP类型、内容管理类型以及大数据应用类型四个大类。

 

1.1安全:

联机事务处理类型应用属于业务交易型系统,在各个行业内占有绝大多数比重。对于OLTP中低性能要求的通用应用,数据库可直接采用RDS。在实际迁移上云过程中涉及到数据库从Oracle向RDS的MySQL数据库的迁移。为了得到更好的性能,需要对待迁移系统所使用的Oracle特性进行转换,以适配RDS数据库,进行应用系统代码改造。

通过底层优化后,游族私有云基本上可以满足业务的需求,目前90%游戏业务运行在上面,虚机规模持续保持在10000台以上,游族私有云平台没有提供WEB管理界面,日常所有的操作都是通过命令行和脚本的形式进行操作,但对于虚拟机的增删查改,重新封装了一层简洁的API接口实现与游族运维平台的对接。经过评估测验,在高峰时期,整个私有云资源利用率可达到83%

安全这块以前IDC机房的时候防范能力比较弱。为了解决安全防御瓶颈,我们改用云上云盾+DDOS高防IP

对于数据库性能要求高,但数据规模要求不高的关键应用,可通过引入数据缓存或采用读写分离的方式对RDS做性能扩展。引入数据缓存是采用阿里云Redis缓存服务,将部分查询数据加载至分布式缓存中,减少RDS的数据查询次数,提升系统的数据查询并发效率和降低响应时间。

 

  • web应用防火墙+堡垒机;

读写分离是采用分布式方式实现对数据库的读和写的职能进行分离,写数据请求主要发生在主库,读请求访问只读库,可以根据需求对只读库进行扩展,以实现整体请求性能的提升。

运维方式的转变

可以通过配置DDoS高防IP,将攻击流量引流到高防IP,确保源站的稳定可靠。DDoS攻击防护峰值带宽 20 Gbps ~ 300 Gbps 。同时,提供按天弹性付费方案,按当天攻击规模灵活付费。

对于数据库性能和数据规模要求都高的应用,可通过DRDS实行对数据库性能或规模的扩展。DRDS是通过水平切分的方式,将数据分布在多个RDS实例上,通过并行的分布式数据库操作来实现性能的提升。如下图所示。

 

云盾Web应用防火墙可以防御SQL注入、XSS跨站脚本、常见Web服务器插件漏洞、木马上传、非授权核心资源访问等OWASP常见攻击,并过滤海量恶意CC攻击,避免网站资产数据泄露,保障网站的安全与可用性。

必发888手机版 5

与三代架构相互对应是游族运维的三个阶段:

关于DDOS高防IP和web应用防火墙产品介绍请详见文章附录第7.1&第7.2小结。

总的来说,通过迁移到RDS、引入数据缓存、分库分表、读写分离等多种方式可以以水平扩展方式取代原有的数据库架构,并且获得更好的性能和扩展性。

 

另外选择用堡垒机来替换原来的开源堡垒机,相比开源的产品,阿里云堡垒机多了一些审计合规,高效易用,多协议支持,追溯回放等功能。

联机分析处理类型系统是数据仓库系统最主要的应用,专门设计用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持,可以根据分析人员的要求快速、灵活地进行大数据量的复杂查询处理,并且以一种直观而易懂的形式将查询结果提供给决策人员。阿里云针对OLAP类型应用的规模大小有不同的解决方案:

  1. 在第一代架构上,运维基本是手工运维,技术含量并不高,纯粹是采用人与时间堆积进行,运维同学需要登录每一台服务器,顺序执行相关的命令和脚本。独立的版控服务器,通过主动推送的形式进行版本更新;
  2. 在第二代架构上,通过自动化工具进行批量运维,团队推出了使用expect写的auto批量脚本,所有操作只需登录一台集控服务器执行批量并发操作的脚本,独立的版控服务器,通过并行的主动推送;
  3. 在第三代架构上,可以实现系统化运维,多个运维系统相互协调配合实现,例如:CMDB、业务树、作业平台等。游戏区组搭建的时间基本上可以忽略(可按需求实现按条件触发或手动触发搭建操作),所有的更新操作在WEB管理平台就可完成。

1.2负载均衡集群:

小规模系统。这类OLAP系统仅仅针对具体某一类业务的历史数据进行实时分析,一般数据在几百GB的规模,分析的数据维度在十几个以内。对于这类应用系统,其数据库直接采用RDS,并在RDS之上构建OLAP分析工具。

 

为了解决负载均衡以及网络扩容瓶颈,我们改用云上SLB负载均衡。阿里云的SLB负责均衡提供四层(TCP协议和UDP协议)和七层(HTTP和HTTPS协议)的负载均衡服务。四层采用开源软件LVS实现负载均衡,并根据云计算需求对其进行了个性化定制。七层采用Tengine实现负载均衡。Tengine是由淘宝网发起的Web服务器项目,它在Nginx的基础上,针对有大访问量的网站需求,添加了很多高级功能。更多关于阿里云负载均衡介绍请详见文章附录第2.2小结。

大规模实时分析。这类OLAP系统面向数据存储规模在100TB级别,单表记录数达到千亿级别,阿里云提供分析数据库服务(Analytic Database Service,简称ADS),可以在毫秒级针对千亿级数据进行即时的多维分析透视和业务探索。还可直接嵌入业务系统为终端客户提供分析服务。

游族作业平台UJOBS

负载均衡实例规格选型:

此外,对于内容管理类型以及大数据应用类型的应用系统,阿里云提供OSS、ODPS、OTS及专家服务,为迁云提供更专业支持。

 必发888手机版 6

根据当前业务量来看五百万用户,最高峰期间并发最大连接为50万,推荐使用

图二:UJOBS架构及其游戏更新流程

性能保障型规格5(slb.s3.medium)最大连接数50w,每秒新建连接数5w,QPS支持3w。完全满足当下的企业需求,如果后续业务和用户规模继续增长,仍然可以在线扩容到更高级别规格的SLB实例。如果未来达到千万级用户规模,需要大于100万规格的实例可以联系阿里云客户经理开通。

 

必发888手机版 7

系统化运维过程中使用的作业平台(UJOBS)是属于C/S的架构,其核心部分由任务调度器和agent组成,通过调用API接口完成多种形式的指令下发。UJOBS简单的来说是为服务器管理提供了执行命令的通道,将所有的执行命令和脚本在目标服务器横向执行完,把输出结果记录日志里面,同时可通过WEB界面实时查看分析。任务调度器是用来全局策略控制,进行并发量控制。任务列表里面保存任务的完整信息。指令仓库保存常用的命令个脚本和上下文关联的命令组合。

1.3应用服务器集群:

在UJOBS平台上,游戏版本更新流程如下:

应用服务器采用阿里云ECS云服务器,来部署应用环境。之前提到运行环境主要为JAVA环境和PHP环境,还有少部分Node.js环境。

  1. 版本库的版本变更自动触发构建;
  2. 从版本库拉取变更后的版本文件;
  3. 通过构建操作后,推送目标程序到分布式的全局版控服务器集群;
  4. 在作业平台下发更新操作后,UJOBS的agent取得该次更新的版控服务器地址、变更清单以及版本信息;
  5. 从版控服务器拉取更新文件到本地执行预定的更新脚本;

Java环境:采用Centos7 + JDK1.7 + Tomcat7

同时在UJOBS执行的过程中可实时查看输出的日志。当游戏版本更新出现异常,有两种回滚方式:第一种,游戏服务器上保留历史版本,异常时回退到历史版本;第二种,覆盖回滚,将老版本再次发布进行回滚。

PHP环境:采用Centos7 + PHP5.6.11

 

Node.js环境:采用Centos7 + Node8.9.3

数据库备份与恢复

有2种方式快速构建应用运行环境:

  

1) 购买ECS服务器后安装操作系统,然后手动部署应用环境,最后将应用环境构建成新的系统镜像。

相对于游戏版本更新备份而言,数据库备份更为重要。ALL IN ONE模式或者非集群模式的游戏业务场景下,会存在多达好几千个MySQL实例,若是要按常规的MySQL备份方案来实施,管理难度和成本都要翻好倍。因此游族网络采用Xtrabackup在主库上直接备份数据文件方式,备份文件暂存本地;本地备份完成后在备份系统选举一台远程服务器进行异地备份;备份策略每小时一次备份,半小时本地备份半小时远程备份。该备份方法在单主库业务场景下可能是最靠谱的数据备份方案,但备份过程对主库会有影响、(限制IO操作),最坏情况下可能出现1小时的数据丢失(业务接受少量的数据丢失)。

2) 购买ECS云服务器后直接选择云市场的已经封装好的应用环境镜像即可。

 

必发888手机版 8

在数据恢复方面,通过一键恢复工具,只需要提供恢复的IP、时间段和业务信息(如库名)即可实现数据恢复;24小时内的数据通过本地的数据恢复(结合二进制日志),超过24小时的数据通过异地数据恢复。

产品选型

 

ECS产品根据业务场景和使用场景,ECS实例可以分为多种规格族。同一业务场景下,还可以选择新旧多种规格族。同一个规格族里,根据CPU和内存的配置,可以分为多种不同的规格。ECS实例规格定义了实例的CPU和内存的配置(包括CPU型号、主频等)这两个基本属性。根据此前车联网行业特性来看,前端web应用推荐ecs.c5.xlarge(4核8G)规格实例,而后端应用推荐ecs.g5.xlarge(4核16G)规格实例。

云上迁移历程

必发888手机版 9