如果你的服务器和数据库流量太大,比如说一个简单的在线游戏,你会如何考虑扩展服务器和数据库?
我的想法是面向未来并横向扩展服务器和数据库。我知道这会产生更大的复杂性,但我觉得这是最好的选择。
有人可以给我他们的想法吗?您将如何识别数据库中的瓶颈和问题?在进入和扩展之前要寻找的主要内容是什么?您将如何扩展服务器?您将如何扩展数据库?
谢谢 :)
如果你的服务器和数据库流量太大,比如说一个简单的在线游戏,你会如何考虑扩展服务器和数据库?
我的想法是面向未来并横向扩展服务器和数据库。我知道这会产生更大的复杂性,但我觉得这是最好的选择。
有人可以给我他们的想法吗?您将如何识别数据库中的瓶颈和问题?在进入和扩展之前要寻找的主要内容是什么?您将如何扩展服务器?您将如何扩展数据库?
谢谢 :)
好问题。我建议你做几件事。
首先,确保你有一个“瓶颈”。瓶颈不同于“缓慢”。
您的应用程序在任何时候都运行良好吗?如果没有,你有一个缓慢的问题。如果它在大多数情况下运行良好,但在某些情况下(负载、数据大小......)它确实很糟糕,你有一个瓶颈。
首先尝试改善应用程序中的明显瓶颈,无论您对数据库做什么,它们都会对您有所帮助。
对于水平缩放,有很多选择。您可以在应用程序中自己对数据库进行分片,但这并不总是那么容易,并且通常会产生长期成本,例如您应该考虑的维护成本。分片可能会限制您可以对数据库运行的查询类型。我相信从长远来看,分片会适得其反。
有一些“透明的横向扩展”解决方案,您也可以查看它们。这些解决方案为您处理横向扩展的所有细微差别,并且基于类似于并行数据库(MPP 数据库)的技术。
这里有几个你应该考虑阅读的参考资料。
面向未来是一个好主意,最好提前计划。充分披露,鉴于我工作的公司,我对这个主题有偏见。