我目前正在尝试掌握整个云计算,并且我已经在 Stackoverflow 上阅读了很多类似的问题。
我正在尝试构建的将是一个高 I/O 存储服务。它将通过 FTP 检索很多(我们一直在谈论 50 - 100 Mbit/sec)的数据,然后将对收到的一些数据进行一些后处理。
该应用程序目前是用 C# 编写的,用于部署在 Windows Azure VPS 上。我正在做自己的简单 FTP 服务器,以实现最高级别的控制和安全性(例如我自己的身份验证过程)。这不是问题,因为我已经非常熟练地使用套接字服务器和高性能 .NET 应用程序。
但是始终作为单个实例运行。一直以来,它都是为了提高在某些 VPS 服务器上运行的单个 Windows 服务/控制台应用程序的性能。
不过这次我必须面对事实。无论该 VM 将变得多大,如果数据要增加(它由客户生成,因此更多的客户 = 更多的数据!),数据会迅速淹没服务器的 I/O 容量。
那么,您将如何在云中进行负载平衡呢?我已经阅读了有关“云工作者”的“云服务”等内容,但我认为它变得如此复杂,而且当我要使用一项服务的存储时,定价似乎如此模糊,数据库来自另一个和第三种服务的工作,同时考虑带宽和其他东西。我真的很想在我知道并且有信心与之合作的环境中保持简单。所以VPS就是这样。
但是我应该如何做负载平衡呢?这是我第一次,我知道这是一个雄心勃勃的项目,但我真的只是想学习!
总结一下:负载平衡在 Windows Azure VPS 上运行的用 C# 编写的自定义 FTP 应用程序。应用程序/服务的每个实例都应该可以访问相同的存储和数据库。不需要实例间通信。
所以把你得到的一切都扔给我,我会努力跟上的。:)