如何将ASP.NET MVC 5/SQL Server应用程序从单个服务器移动到多个服务器
问题描述:
我有一个Web应用程序(ASP.NET C#MVC5,SQL Server 2014后端在一台服务器上)已经成功。它现在正在处理加载罚款,但我想在事件使用爆炸(如可能)时做好准备。该应用程序会以用户网络摄像机定期捕获的图像的形式从用户处获取大量数据。如何将ASP.NET MVC 5/SQL Server应用程序从单个服务器移动到多个服务器
从单个服务器开始移动到可扩展设置的最佳方式是什么?理想情况下,我们希望能够在需要处理更多流量和处理(面部/对象识别等)时简单添加服务器。
我已经做了一些研究,但还没有找到任何我认为即使是一个好的起点,所以我会欣赏,即使在正确的方向点。
答
您应该考虑将文件从文件系统移动到某些CDN(内容分发网络),这将确保您具有很高的可伸缩性。例如,它可以是:Amazon CloudFront或Google Cloud Platform
您也可以考虑将您的代码(最耗费资源)移动到ESB(企业服务总线),例如MassTransit(免费)或NServiceBus。
你打算扩展什么? Web场还是SQL Server? –
这就是我所要求的一部分。我不知道从哪里开始,或者我需要扩展的地方。 从用户捕获的图像保存到文件系统中,并在SQL Server表中引用。该表中有数百万行。 –
这真的要取决于你首先想要解决哪个资源。然而,首先,我会在单独的虚拟机上安装SQL服务器和Web服务器,设置负载平衡器,并准备添加更多Web服务器来处理流量。此外,您还需要一台文件服务器,以便所有Web服务器都可以读取/写入来存储图像。很难回答这个问题,因为通用可扩展性是一个非常广泛的话题。 – Michael