最近在做一个社交类游戏,考虑到以后服务器端能够灵活的扩展,主要指无需改动软件程序,仅通过升级硬件或增加机器尽可应对访问量及数据量增长带了的挑战。我们经常通过两中方式:垂直伸缩和水平伸缩
垂直伸缩:通过升级或增加单台机器的硬件来支撑访问量及数据量增长。
水平伸缩:通过增加机器支撑访问量及数据量增长,水平伸缩理论上将没有瓶颈,缺点就是对技术有较高的要求。
参考了一些书籍,整了一个方案(希望有更好的方案)
1.客户端通过一台负载均衡器分发给一台业务逻辑处理器,一台业务逻辑器对应了一个本地内存。交互是最频繁的(本地内存数据只保存自身服务器的数据)。
2.Memcached保存着所有服务器的共享数据。
3.内存中的数据可以定期同步到数据库中。