bil*_*aya 14 .net c# scalability
上周,我在NE的一家TripleA MMORPG游戏公司采访了一个职位.我没有得到这份工作,但在访谈期间提出的一个方面是关于您编写的代码的可伸缩性以及在架构和类的设计中应该如何考虑它.
遗憾的是,我从未想过我编写的.NET代码的可扩展性(我使用单用户桌面和移动应用程序,我们主要关心的是设备内存和数据传输速率).我有兴趣学习更多关于编写可以扩展的代码,以便它可以处理客户端服务器环境中的各种远程用户,特别是MMORPG.
是否有任何书籍,网站,最佳实践等可以让我开始研究这个主题?
以下是一些开始的地方:
http://www.cs.cornell.edu/people/~wmwhite/papers/2009-ICDE-Virtual-Worlds.pdf
特别是,http://highscalability.com已经发布了很多关于可扩展的大型网站以及他们如何做的文章(Digg,flickr,facebook,YouTube,...)
我想在此强调一点。只需缓存您的读取即可。制定适当的缓存策略,确定可以缓存哪些对象以及缓存的时间段。拥有分布式缓存场将减轻数据库服务器的负载,这将极大地提高性能。
即使只是将一些数据缓存几秒钟——在负载非常高的多用户场景中——也会给您带来巨大的好处。