CDB使用心得
作者 ㊣富载朝野对于腾讯CDB服务,我们公司一直有都非常认可。我公司在腾讯朋友平台上运营的《通缉好友》、《诺亚庄园》、《奇幻梦境》中都采用了腾讯CDB服务。使用中我们确实感觉到针对应用接入,腾讯CDB服务优点非常多。
主要有以下几个方面:
1. 相对于前期开发来说,CDB的优点表现为:
a . CDB针对社交游戏数据量大,访问量高的特点,只要拆分大表及避免明显访问热点就可大大提供存储效率,其高性能及可靠性的大大降低服务器宕机的风险,加之冷热备份机制、监控机制及断点日志恢复在一定程度上可使应用表现为0宕机,大大改善用户体验。这一特点在目前运营的游戏《奇幻梦境》当中体现的尤其明显。
b. CDB可最大程度减少开发者在部署、监控、扩容和故障恢复等方面的投入,将开发人员从运营和维护中解脱出来,而更专注于应用本身的功能实现、扩展,以及用户体验的提升。我们公司使用腾讯CDB服务后,节约了大部分的人员,从而可以有更多的人员专注于游戏的优化。
c. 即时申请即时使用,通过IP/Port直接访问MySQL 实例,开发者无需自行安装MySQL 实例和调整配置文件,最大限度的降低应用修改代码或者重启几率和风险。
d. 通过MySQL 客户端和API直接访问和管理MySQL 实例,无需直接改造代码,更进一步规避了因改善代码导致各类风险。
2 相对于运营来
a. 主从DB服务(master/slave)切换后访问MySQL的IP/Port不变,应用层无需修改配。
b. 提供master-slave热备,自动定时冷备服务,减少开发者的维护投入。这对一个刚起步的,或者是一些比较小型的团队,无疑是巨大的节约。而对于我们企业用户来说也是一件非常必要的事情。
c. 后期扩容时,其自带的应用“一键式”扩容,可以实现无人工参与。
就用我们现在运营的2款游戏《诺亚庄园》和《奇幻梦境》来说如果我们的应用从“内测区”升级到“腾讯朋友推荐列表”后,势必访问量剧增,DB层往往需要更换性能更好的设备以支持海量访问。 通常的做法是开发者或者运维人员介入来完成MySQL实例的重新部署和数据迁移。然而使用CDB后,其所提供的“一键迁移/扩容”功能,可以完全自动化地完成这项工作。这样就大大减轻了我们运营上的负担。而且以后运营的游戏会越来越多,这样就能节约巨大的人力资源和物质资源。
同样我们在实际运用中并且经过腾讯的介绍总结了使用方面的几点注意事项,帮助我们更好的使用腾讯CDB服务。
1.不随意修改对应MySQL的原帐号信息和权限,这个操作可能会令部分集群服务失效;更不要随意变更或者停止master-slave关系,导致冷热备份失效。
2. CDB默认存储引擎是Innodb,创建库和表时建议优先使用Innodb引擎,同时应尽量避免MySQL实例数据量过大及单个业务表数据过大(限额为5G,暂时够用),导致Innodbd的cache buffer负载过高,MySQL瓶颈转到IO上,导致访问吞吐量下降,以上实例能保证CDB在支持高访问的能力上有更好的表现 。
3. CDB在管理MySQL的连接实例上限为800,应避免业务程序导致的空连接过多、前端过来的访问远远超出实例的处理能力及因某个连接执行太久而占用了MySQL的独占资源,导致大量的访问请求被阻塞。
4. 开发人员通过IP/Port的方式就可以完全控制和管理MySQL实例,不能登录到服务器进行操作,CDB统一管理MySQL实例的配置,不需要开发人员介入。
5. CDB运维系统对MySQL进行日常管理,日常的维护和调整,当MySQL出现异常时,运维系统会及时发现并通知运维人员处理,用户不需要做任何变更操作。
我们相信继续使用腾讯CDB会使我们的游戏越来越好!