2010-05-17 60 views
1

只是一个关于Azure的问题。Windows Azure平台如何扩展我的应用程序?

是的,我大致了解Azure和云计算。我会这样说:

说,以正常的方式,我建立一个程序侦听TCP端口。我在服务器上运行这个服务器程序。我还构建了一个客户端程序,通过指定的端口连接到服务器。一旦连接了一个客户端,我的服务器程序就会计算一些东西并返回给客户端。

以上是普通模型,或者说我的程序模型。

现在我想使用Azure。我想用,因为我的客户太多了,比方说每天有100万。我不想租用1000台服务器并维护它们。 (只是客户数量的假设)

我已经看过Azure定价计划。它谈到CPU并谈论小型,中等,大型实例。

我不知道他们的意思。例如,在我上面假设的情况下,我需要多少个实例?或最多我可以从蔚蓝超大(8个小例子?)

Azure为我的程序如何规模?如果我选择小型实例(我的服务器程序很少,只是计算一些数据并返回给客户端),Azure会为我规模吗?或者Azure给我一个虚拟服务器并让它超载?

请考虑只有CPU,而不是存储或网络流量。

回答

3

您可以选择两件事:运行VM的大小(小,中,大)以及要运行的虚拟机的数量。这意味着您可以选择一个小型VM(单个处理器)并运行100个“实例”(100个VM),或者您可以选择一个大VM(同一台服务器上有8个处理器)并运行10个VM(10个VM) 。

今天,Windows Azure不会自动调整您的比例,因此您可以根据需要增加使用Web门户或Service Management API来增加实例的数量。

+0

谢谢,现在明白了 – Jack 2010-05-18 08:50:50

0

要考虑的一个因素是如果您的应用程序可以利用多核心环境(多线程,共享内存等)来提高其规模。如果可以的话,最好使用5个2核心(即中等)的VM,而不是10个1x核心(小)的VM。在某些情况下,您可能会发现2个4x核心虚拟机的性能优于5个2核心。

如果你的应用程序不是并行/多核,那么你可以做一些'x'数量的小型虚拟机。无论如何,收费是线性的 - 即2核VM是单核成本的两倍。

其他因素包括虚拟机中可用的暂存磁盘大小&。

另外一个建议 - 您可能需要考虑利用Azure队列(即将客户端发布到队列并且工作人员从那里拉出)。这将允许你透明地(对客户)增加/减少工作人员不必担心连接等。另外,如果一个处理步骤失败并且崩溃了你的实例,那么这个消息将会持续存在并被其他人收回。

相关问题