五天玩转MongoDB训练营:阿里云特色MongoDB介绍
MongoDB在游戏行业方案介绍及最佳实践
内容介绍
一、 简介
二、阿里云MongoDB的横/纵向扩容
三、游戏行业一站式解决方案
今天我为大家带来的课程是MongoDB在游戏行业中的方案介绍以及最佳实践。接下来,我们正式开始今天的课程。首先,课程背景主要介绍阿里云的MongoDB的云原生能力如何快速满足游戏行业分钟级在线的扩容、任意时间点回档、自动故障转移,大幅缩短游戏运营周期。
今天课程的重点内容阿里云的MongoDB在游戏行业的最佳实践。针对的受众是所有的开发和技术人员,我们的主要目标是让大家了解阿里云的MongoDB游戏行业和阿里数据库方面的实际应用,并掌握阿里产品的一些特性和基本原理。
今天分享的内容将分为三个部分:第一个是阿里云的MongoDB简介,第二个是阿里云的MongoDB在游戏行业中的最佳实践,第三个是一些客户案例。
一、简介
关于阿里的MongoDB的简介,目前支持多种不同的部署形态和多个版本。版本范围从3.0一直到6.0,覆盖了当前主流的所有版本。在部署形态方面,包括单节点、副本级和分片集群。此外,阿里云还支持自动化运维和弹性缩放,包括高频的能力,以及通过自动监控和告警快速分析故障或异常情况。它还支持多种数据库功能服,包括DBS、DWS管理、数据传输和备份恢复,以支持阿里云的MongoDB的日常运维操作。我们还开源了一些工具,用于线下、线上和跨域阿里云的MongoDB数据迁移,可以使用类似的开源工具。
目前,阿里云MongoDB的主流部署形态包括四种,第一种是面向中小型客户和学生测试的MongoDB中低成本低门槛的形态。第二种是单节点版本,主要用于线上测试环境以降低MongoDB使用成本。第三种是副本级,支持主从复制,也支持扩展节点,在小规模请求下提供高可用性。第四种是分片集群,在游戏行业广泛应用,支持数据分散在不同节点上,可实现横向扩容和快速适应不同游戏场景的需求。
MongoDB的核心价值特征包括八个方面,第一点是免运维,开箱即用、二是支持弹性伸缩能力、三是支持高可用性和自动故障转移,
第四个特性是持续备份,支持点时间的备份恢复,包括PITR(点时间恢复)的能力。第五个特性是安全加固,我们将在后面专门讨论这个方面。第六个特性是审计日志,特别是在访问过程中,可以查看所有操作记录,确保操作可以追溯。第七个特性是监控,包括实现自动化的监控能力,帮助我们快速分析使用过程中的问题,包括故障排查等。
备份方面,主要有自动备份、手动备份和逻辑备份几种方式。备份可达到高可用性,可以保证数据的可靠性。
在恢复方面,我们可以根据需要选择时间点进行恢复,并进行有效性验证,以防止备份时间过长导致无法恢复数据。通过这些特性,我们可以全面覆盖从备份到恢复,确保数据的可用性和有效性验证,在面临突发情况时能够快速恢复。
MongoDB当前主要的备份方式分为三种。第一种是逻辑备份,它本身具备逻辑备份的能力。第二种是物理备份,通过处理能力直接拷贝物理文件。第三种是应用快照备份,可能需要借助磁盘或硬盘本身的能力来实现快照备份。
在这三种备份场景下,它们的比较特性主要包括备份成功率、备份速度和备份大小。逻辑备份在成功率上相对较高,备份速度较快,但备份大小可能较大。物理备份的成功率也高,备份速度稍慢,备份大小与逻辑备份相近。快照备份在备份速度上最快,可以在分钟级别备份大量数据,但备份大小相对较小。
在灵活性方面,逻辑备份相对最灵活,物理备份和快照备份相对较低。当前,我们支持逻辑备份、物理备份和快照备份三种备份模式,根据需求选择最适合的备份方式。
二、阿里云MongoDB的横/纵向扩容
在纵向共有过程中,例如在某些副本级的情况下,我可以实现业务扩展,同时保持数据不动。我的计算节点与数据存储分离,这种架构可以快速弹性扩展计算节点的规格,因为数据无需迁移,所以扩展时间大大缩短。
另一个场景是升级,我可以在不同的副本机和节点之间实现滚动升级,从而最大程度地减少升级过程对线上业务的影响。
第二个场景涉及阿里的横向扩容。
横向扩容主要用于游戏集群模式等场景,可以快速扩展能力。通过增加读取能力,可以提升整体读取能力。
此外,可以实现自动负载均衡,在写入过程中也可以自动扩容,以适应不同的需求。在特殊的运营分析场景下,可以先增加节点来提高运营分析效率。
接下来,重点介绍阿里云MongoDB端到端的安全解决方案,包括事前、事中和事后。事前包括RBAC安全访问控制、SSL加密和IP白名单。事中涉及审计和识别。事后可以基于审计日志进行全链路跟踪,并支持数据加密。这意味着在数据写入过程中,数据会自动加密。在紧急情况下,可以确保数据不会丢失,总之,这涵盖了事前、事中和事后的全链路数据安全方案。
阿里云MongoDB目前支持多种监控和告警方式,其整体架构包括稳定的云监控系统和与数据库相应的监控服务。
监控覆盖了40多项核心监控场景,通过监控系统自动采集技术指标、容量、操作次数、QPS等指标。同时,可以配置警报信息,根据监控指标信息进行定期趋势分析、实时绘图和慢查询分析,以提高问题分析效率。
接下来,让我们看一下迁移和数据同步方面。前面提到,我们可以使用开源工具进行多云数据库迁移,同时,云上也有数据库迁移服务,专门用于不同类型的数据迁移,包括自建数据库、IDC和其他云平台,以及从分片集群到目标端副本集合等,分片集群的迁移可以覆盖当前的大多数迁移场景。
阿里云支持两种类型的协议,第一种是自有协议,第二种是兼容的协议,这有助于在迁移过程中最大程度地减少业务改造成本。我们还提供迁移工具,专门用于建议迁移方案。
本章主要介绍了阿里云的基础产品能力、高级特性和核心价值。
三、游戏行业一站式解决方案
接下来,我们将进入第二部分,讨论阿里在游戏行业的最佳实践。
阿里云MongoDB为游戏行业提供了多样的解决方案,满足了游戏行业多变的需求。
这些特性也很好地支持了游戏行业在不同场景下的需求,包括背包、道具场景和属性重组,减少了数据故障的频繁发生。此外,阿里云还支持即时备份和快照备份,满足游戏场景下快速回档的需求,同时在不同场景中基于备份数据进行操作。
此外,我们还支持创建新实例以满足新的需求,这样的方式可以确保在整个安全链路中进行全面的控制。在运营分析场景下,阿里云的核心能力依赖于运营分析,可以快速分析运营数据。
在游戏场景中,常见的包括分区分场景和全区全副场景,以及获取大趋势,全区全副场景可能相对较少,而分区分场景通常采用副本级模式,每个区域有自己的副本,不同副本集之间会有一些玩家限制,包括用户数的整体限制。
在全区全副场景下,通常采用集群模式,可通过上游扩展以满足玩家增长的需求。因此,阿里云提供了一系列解决方案,适用于不同游戏场景,包括设计延迟节点。延迟节点可用于快速恢复数据,例如在误删除数据的情况下,可以快速回档到过去的时间点。这对游戏场景很有用,因为它允许无需进行完全的恢复,而是可以查询历史数据。此外,阿里云还支持在游戏道具场景中设置道具的过期时间,包括自动过期和特定时间点过期两种索引方式。
此外,还支持地理位置索引,特别是对于引入地理位置的游戏,可以根据位置检索附近的目标,以满足一些搜索和路径查找需求。
另外,也支持从本地备份恢复到远程备份,首先进行全量恢复,然后进行增量实时恢复。
此外,我们还对原生回放过程进行了改进,以实现多线程回放。这些改进不仅提高了备份恢复的效率,尤其是在任意时间点恢复时,在处理增量数据时也能更加快速有效,这在游戏行业中尤为重要,尤其是在需要临时补丁、紧急停服或者临时回档的情况下,通过并行处理的能力,我们能够快速满足这些需求,以尽量减少游戏玩家因问题数据而受到的影响。
此外,我们还支持只读节点的创建,这些节点可以独立于主节点,并通过我们的物理资源进行隔离,这使得我们既可以执行在线业务的读写操作,比如游戏场景下的实时数据记录,又能够在用于分析和报告的业务场景中执行复杂的大型查询操作。
总之,这些建议是基于游戏行业的实践经验,结合我们的解决方案,以应对不同游戏场景下的需求。另外,我们还支持高效的数据存储和备份,尤其是在面临宕机或异常情况时,能够实现快速恢复。此外,我们的备份和回放能力经过改进,可以实现多线程回放,这对于处理游戏初始阶段的临时修复、回滚等情况非常有帮助,通过并行回放,迅速满足这些需求,最大程度地减少了对玩家体验的影响。
另外一个关键点是我们支持只读节点的创建,这些节点能够单独分离出来,与主节点物理资源进行隔离。这使得我们能够实现在线业务的读写隔离,例如游戏场景下的实时数据记录,同时在分析和报告的业务场景中执行复杂的大型查询操作。
综合而言,这些建议是基于游戏行业的实践经验,结合我们的解决方案,以满足不同游戏场景下的需求。我们还支持高效的数据存储和备份,尤其是在面临宕机或异常情况时,能够实现快速恢复。我们的备份和回放能力经过改进,实现了多线程回放,对于处理游戏初期的临时修复、回滚等情况非常有帮助,通过并行回放,可以迅速满足这些需求,最大程度地减少了对玩家体验的影响。
这样,我们可以减少整体板分时间,提高本科生效率,特别是在板分复过程中。
此外,广泛应用于游戏行业,包括国内众多游戏企业。在许多知名企业中,它具备快速开发、高性能以及灵活部署和扩展的能力,已成功应用于游戏行业和游戏社区。目前,常见的平台包括玩家排行榜、游戏服务器平台、游戏场景中的商城以及社交场景。