我不做游戏,我看了视频做个笔记。我猜游戏里面的用户数据(玩家金钱,人物属性,等等,都是整形和浮点型)并不大,资源数据(图片,3D引擎等等)确实很大。假设一个用户1kByte的数据满足,按照golang的类型来算,败家一点全部给8byte,1024/8=128,一个人物128数据属性。如果一个8G内存的服务器,假设内存全部用上,可以加载8388608,8百万用户。如果单纯用这个服务器做数据库,在同一机房用千兆网口1Gbit(128MByte)全双工网口,按照100ms的延时感知,就数据而言1.3w用户同时操作无压力。8百万用户在一台机器的另一个问题是计算,golang提供的切片决解了他们的问题。
2017-12-01