Web应用程序和数据库可以托管在不同的服务器(远程和本地)上吗?

时间:2016-05-09 09:16:05

标签: asp.net sql-server database server hosting

如果我滥用权利在这里提问,我会马上道歉。然而,作为Web开发和ASP.NET初学者的一员,我需要专家的一些建议。

我开发了一个ASP.NET WebForms应用程序,我希望将其部署到远程托管服务器。由于其作为文档注册系统的目的,应用程序不断地查询和更新数据库。它将出售给不同的机构,以便我想象以下场景:在同一台服务器上为所有机构托管应用程序,并将数据库放在不同的服务器或多个不同的服务器上。我考虑过这个选项,因为随着数据量的增加,托管公司提供的存储空间可能不足。

我的问题是:是否有可能完成这种情况,如果是,有什么风险,我应该怎么做?

非常感谢!

2 个答案:

答案 0 :(得分:0)

是的,这是正常的做法。但是,您需要Web服务器和数据库服务器之间的快速网络连接。您还需要考虑服务级别(即百分比正常运行时间)以及实现该目标所需的冗余量。

有一种简单的方法,也是一种更难实现的方法。

简单的方法是在Microsoft Azure中托管您的应用程序。它实施起来快,而且非常灵活。

您可以在SQL Azure数据库中托管数据库,Microsoft建议将其用于新开发。这可以从非常小(和低成本)扩展到非常强大(更多成本)。

类似地,可以缩放Web应用程序。您可以通过使机器更强大来垂直缩放,也可以通过添加更多机器来水平缩放。

对于数据库和Web应用程序,可以在几分钟内上调或下调缩放。

更难的方法是在虚拟机上托管应用程序。您需要很多知识来配置和维护它。例如,您可能需要配置SQL Server AlwaysOn。

此屏幕图显示了如何为Microsoft Azure中托管的Web应用程序选择定价层。 (价格以英镑计算。)

enter image description here

您应该将Web应用程序和数据库托管在同一个数据中心,以确保它们之间存在快速的网络连接。此外,您可以使它们属于同一个“资源组”,这告诉Azure它们可以一起工作。

这显示了如何为SQL Azure数据库选择级别。 (以英镑计价。)

enter image description here

请参阅Microsoft Azure> Azure定价:https://azure.microsoft.com/en-gb/pricing/

答案 1 :(得分:-1)

你可以这样做,只考虑托管服务器和数据库服务器之间的速度。