我现在有一个简单的服务器(某些xeon cpu托管在某个地方),运行apache / php / mysql(没有docker,但有可能),而我期望一些流量,所以我需要我的服务器来处理。
当前服务器可以同时处理约100个用户,我需要它可能处理成千上万的用户。
将我的应用程序移至某些可扩展托管的最简单,最快的解决方案是什么?
我没有AWS经验或类似经验。
我正在阅读有关AWS和类似产品的信息,但是我大多感到困惑,不确定我应该选择什么。
答案 0 :(得分:0)
基本选择是:
在云中进行水平扩展的好处是能够根据工作负载添加/删除服务器。繁忙时,添加更多服务器。安静时,请卸下服务器。这还使您可以在安静的环境中降低成本(如果您拥有自己的设备,这在本地是不可能的)。
该架构涉及将多个服务器置于负载均衡器的后面:
AWS有几个可用的负载均衡器,具体取决于需求。如果您只是将流量发送到安装在所有服务器上的单个应用程序,则 Network Load Balancer 就足够了。如果应用程序的不同部分位于不同的服务器上(例如,移动界面与Web界面),则可以使用 Application Load Balancer 。
AWS还通过提供 Amazon EC2 Auto Scaling 服务来协助水平扩展。这样,您可以指定要启动的服务器的详细信息(磁盘映像,实例类型,网络设置),然后Auto Scaling可以在需要时自动启动新服务器,并终止不需要。 (请注意,它们会启动和终止,而不是启动和停止。)
您可以进一步定义扩展策略,通过测量诸如CPU使用率之类的指标,告诉Auto Scaling 何时启动/终止实例。这样,服务器的数量可以大致匹配流量。
应该提到的是,如果您有一个数据库,则应将其单独存储到应用程序服务器中,以免被终止。您可以使用Amazon Relational Database Service(RDS)为您运行数据库,也可以在单独的Amazon EC2实例上运行数据库。
如果您想了解有关上述任何技术的更多信息,YouTube上有很多讲座或博客文章可以解释和演示其使用。