开发者社区> 晚来风急> 正文

手游业务MySQL数据库虚拟化漫谈 | By 肖力

简介:
+关注继续查看

作者简介

肖力, 资深运维专家,拥有15年运维经验,就职于金山西山居,担任系统运维经理,曾就职于盛大游戏,在运维圈有极大的影响力。国内最顶尖的KVM专家之一,从2009年开始研究KVM技术,是国内较早在生产环境大规模实践KVM的人之一,积累了非常丰富的经验。
热衷于技术传播,一直在无私地为运维领域的发展做贡献,维护有微信订阅号“KVM虚拟化实践”,分享了大量KVM和运维领域的干货内容,同时还运营着多个运维相关的微信群。此外,他还是华章“运维前线”系列图书的总策划,无偿地在组织大量愿意无私分享经验的运维工程师们来参与写作。

作者

  • 肖力(原著)

编辑

  • 叶金荣(文章整理)

内容简介

资深运维专家肖力谈手游业务MySQL虚拟化方案

手游业务MySQL服务特点

  1. 目前手游业务大多是采用Redis和MySQL相结合的方案;

  2. Redis则用于游戏业务中当前状态数据的存储,而MySQL一般用于数据持久化存储以及事务控制、数据一致性保证;

  3. 手游业务中的MySQL数据库一般负载不高。

正因为MySQL负载不高,才需要想办法提高资源利用率,这里可以有两个思路:

  • 单机多实例;

  • 虚拟化技术。

这两种方法各有优缺点,我们接下来各自分析对比下。

1、单机多实例

在同一个OS下启动多个mysqld进程,监听多个端口。
优点:

  • 计算资源利用率相对较高,因为没有虚拟化层的损耗;

  • 适合中小企业,因为无需额外维护KVM等虚拟化组件。

缺点:

  • 隔离性相对较差,不同业务的MySQL实例间可能会因为业务瞬间突增而相互影响;

  • 定制化相对麻烦,不同实例要使用不同的MySQL版本,操作配置比较麻烦;

  • 不同实例无法都使用默认的3306端口,除非事先绑定多个IP,相对较复杂。

2、虚拟化技术

在每个虚拟机只运行一个数据库实例。
优点:

  • 方便推动数据库部署标准化、模版化,为后续推进快速部署打好基础;

  • 通过虚拟化技术,实现数据库服务快速批量部署,公有云RDS一般也是这么做的;

  • 具备良好的隔离性,一个实例中的OS或数据库故障不影响其他实例下的服务。

缺点:

  • 多了虚拟化层,增加一部分计算资源消耗;

  • 每个虚拟化实例使用单独的IP,网络管理上更复杂;

  • 手游业务数据库虚拟化方案可以考虑KVM结合Docker的方案。

数据库使用KVM虚拟化方案需要关注下面的几个要点:

  1. 服务稳定性,业务的稳定是一切基础,再好的方案也不能影响业务的稳定,否则都是耍流氓;

  2. 避免性能瓶颈,数据库服务主要的瓶颈在于磁盘I/O,好在手游业务的压力一般不太大。不过上线前也要做足测试,对潜在的性能需求要有预估。遇到高负载时可直接使用SSD或者PCIe SSD设备,在KVM虚拟化中也可将SSD直接以裸盘方式挂载到KVM实例上。

  3. 服务可靠性,可从下面两个方面提升服务可靠性:

    1)数据库层面,可采用主从复制、定期物理&逻辑备份(全备+差异备份)、备份恢复等机制;
    2)虚拟化层面,可采用共享存储、虚拟机快照等。共享存储优先选择企业级存储设备,要注意虚拟机快照并不能保证数据库的完整性。

数据库使用Docker技术
数据库服务基于Docker技术,有效平衡了单机多实例以及KVM虚拟化两种方案,其资源损耗小,又具备虚拟化灵活部署和隔离性等优点

但当前Docker技术仍有诸多限制:

  • 其使用AUFS文件系统,更容易造成磁盘I/O性能瓶颈(可配置SSD盘缓解I/O压力);

  • Docker的实例不支持热迁移(可和KVM结合,利用KVM实现热迁移);

  • Docker的网络模块上也有瓶颈。

上述这些因素决定了目前在Docker里跑MySQL还有待进一步完善,我们也相信随着Docker技术的不断改进,这些限制或者瓶颈会越来越少,更适大规模运行MySQL等服务。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=


文章转自老叶茶馆公众号,原文链接:https://mp.weixin.qq.com/s/UVusRdDDB9MiTTjmxKVUvA

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
云厂商都在下注的HTAP,到底发生了怎样的转向?
云厂商都在下注的HTAP,到底发生了怎样的转向?
20 0
数据库厂商云和恩墨加入龙蜥社区,打造安稳易用的 IT 运行环境
欢迎云和恩墨加入龙蜥社区,一起打造服务器+芯片+操作系统+数据库+中间件+应用软件的全栈联合解决方案。
16 0
实测办公场景下,国产远程控制软件的表现力如何?(技术解析)
大家好,我是码农飞哥,作为一个常年混迹职场的老码农。我在工作和生活中碰到了很多问题,也帮助别人解决了很多问题。前有帮实习生配环境,后有帮同事调BUG,中间还有教老爸如何使用手机。
49 0
手游业务MySQL数据库虚拟化漫谈 | By 肖力
手游业务MySQL数据库虚拟化漫谈 | By 肖力
127 0
干货分享|互联网出海企业数据库选型问答实录
干货分享|互联网出海企业数据库选型问答实录
243 0
无影云电脑启动大规模商用 已服务众多行业客户
“这是一种在云上共创的端。”5月28日,阿里云总裁张建锋在演讲中透露,无影云电脑已服务众多行业客户,开始启动大规模商用。当天,无影云电脑公有云版上线,客户可以通过阿里云官网下单订购。
830 0
“征战”国内企业市场数十年,数据库已经走到分布式叉口
刚刚过去的 2020,对蚂蚁自研数据库产品 OceanBase 是一个丰收年
219 0
一款云迁移产品的成长史
从实现多云迁移到实现对Apsara Stack自动化迁移的全面支持,万博智云为自己的产品开启了顶级流量入口,获取客户信任的时间更短。
182 0
双11核心系统100%上云 !阿里数据库处理峰值远超传统厂商
刚刚结束的天猫双11创下了两项新记录:交易额2684亿,订单峰值54.4万笔/秒,阿里巴巴集团CTO张建锋在当晚宣布,双11核心系统100%上云,背后作为数据核心支撑的自研数据库OceanBase和POLARDB每秒处理峰值都远远超越传统Oracle数据库。
1109 0
Uma
DTCC 2019 | NoSQL数据库最新发展趋势 如何拥有居家必备的企业级能力?
摘要:企业IT系统面临层出不穷的新业务,安全,成本等诸多挑战。阿里云NoSQL数据库通过与企业业务深度结合,快速创新,提供最新的技术帮助企业用户迎接挑战,获得金融、社交、直播等众多大客户的信任。本文中,阿里云智能数据库产品事业部高级产品专家朱洁为大家介绍阿里云NoSQL数据库在众多最新领域的创新和技术实践。
3324 0
企业云存储:为什么中大型企业都偏爱自建企业云?
“上云?我们通常自建企业私有云。”9102年了,在云存储服务的选择上,中大型企业基本步调一致,统筹规划自建企业私有云。     为什么中大型企业都偏爱自建企业私有云?   一、长久的成本考量   从账面上看,通常私有云初期造价总比公有云高。
1623 0
+关注
晚来风急
文章
问答
视频
相关电子书
更多
共拓云端,连接上云
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多