我已经完成了整个社交networking的编程,已经有6万用户(6年以上)取代了老用户,但是有时候有100-300个用户在线。 我将开始把不同的关注放在不同的专用服务器上。 但是,随着整个云的趋势,我想我可能会做出错误的决定。 那我就需要按需马力。 我想把一个图像和video服务器放在另一个专用服务器和另一个聊天服务器上。 我可以只把我的PHP,MySQL代码在这些主机上,他们会采取剩下的caare? 或者是有一些涉及的API,我必须编程!?
我有什么select?
许多“云计算”只是VPS的营销术语 – 确保它是可扩展的,但是这将需要停机,并且节点之间的迁移通常会影响服务器的性能并导致停机。 此外,基于RedHat的系统默认的Apache,PHP和MySQLconfiguration对于小型terminal系统来说是没有用的,并且需要调整。
最重要的是,不要忘记,“云”是基于真实的磁盘或SAN,因此通常比平均磁盘写入和读取速度慢,所以如果您的应用程序使用该磁盘很多,它可能会受到影响。
如果你已经用易于扩展的方式编写你的代码(例如,具有返回当前数据库的函数以及可能不同的函数来读取),我build议从一个专用的服务器开始,看看如何好,这是给你的。 如果你发现你的带宽花费了很多,那么去亚马逊S3存储带宽,video等等。如果你发现你的数据库正在造成瓶颈,那么在2个或更多服务器之间进行Master-> Slave复制(只写一个,从其他阅读)。 如果你发现你的服务器运行缓慢,而不是数据库,考虑负载平衡的网站。 如果发现尽pipe服务器响应迅速(由于内容),网站加载速度较慢,请考虑使用CDN。
如果代码足够灵活,那么你应该可以在这些事情上添加任何东西,如果你不需要在担心缩放之前就开始使它变得灵活。
在重新构build整个应用程序以适应云模型之前,我build议将您的video和图像文件移到内容分发networking。 使用CDN有许多好处 ,主要的好处是它可以消除服务器上大文件服务的负担。 对于许多应用程序来说,使用CDN可以帮助您扩展10-100倍以上的服务器内容。 如果您仍然遇到性能问题,那么您可能需要查看更快的服务器或水平缩放解决scheme。