正文
大世界游戏架构
一方面是数据库性能上不去,造成游戏读写的时候卡顿,严重影响玩家体验,一方面数据量猛增,虽然研发已经紧急做了分库分表,但是即使这样,很快有出现了问题。不得不做了人数方面的限流措施,造成大量的玩家排队,玩家怨言很多。
新游戏上线冲量很重要,否则会严重影响人气,面对老板和运营火烤一样的目光,我们很多人已经吃睡在公司了,想尽了各种方案。我们使用的是国外某家云的RDS,只能说性能比较弱,尤其是数据库存储量稍微大一点的时候。也尝试了使用超强配置的云主机自己搭建数据库,还尝试了使用带有SSD硬盘的物理机搭建数据库,也请了几位MySQL大牛帮助做了各种优化,甚至Sql语句的优化,虽然有所改善,但还是不能完全解决问题。
这几位大牛基本认定
目前这样的架构已经到了MySQL的极限,如果要再提高性能,就要彻底重构架构,或者使用商业的数据库。
但是已经是火烧眉毛了,更换架构或者数据库,都是远水解不了近渴呀。于是,形成了一个死结,如果放更多的玩家进来,肯定会出现更严重的问题;但同时有大量的玩家在排队,一方面严重影响游戏的口碑,一方面也影响公司的收入。游戏刚上线的时候,看到这款游戏火爆,老板甚至已经开始做提前上市的IPO计划了。
问题解决
情况出现转机,是因为我咨询了一圈周围的朋友之后,我的朋友老杨给我了希望。老杨了解情况之后,建议试试AWS的Aurora数据库服务。老杨是一家电商公司的CTO,提到他们国外就是使用的Amazon Aurora。电商对可靠性、稳定性要求非常高,他们的业务去年刚发展到国外,使用云是最方便的选择,但是也是碰到了相同的问题。数据库使用RDS还是自己在云主机上搭建,都有性能方面的问题,后来尝试性的测试了Amazon Aurora,发现性能优异,又做了全面的性能和稳定性评估,达到了要求,所有才放心的使用。用了一年多了,对效果比较满意。