1

我有几个向云发送大量数据的硬件设备。我需要将它们存储在云端,处理它们并根据分析的数据向有兴趣查看这些结果的客户发送一些状态报告。客户是智能手机用户。

单个客户有兴趣了解一个或多个硬件状态报告。

我需要使用 Azure 使其可扩展,即能够监控 1000 多个硬件。我需要云存储、云计算能力以及从许多硬件发送数据并向监控这些硬件的客户发送报告的能力。

我是 WCF 和 Azure 的新手,任何有关如何使用 WCF 和 Azure 编写可扩展应用程序的指导都将非常有用。请解释它如何可扩展。我必须使用工作者角色/网络角色吗?我需要进行一些计算密集型数据处理来生成客户感兴趣的报告。

沙市

4

3 回答 3

3

听起来是个有趣的项目...

您可以在 WCF 服务 Web 角色中托管 WCF 服务,这是一个带有用于托管 WCF 服务的启动工件的 Web 角色。

对于密集处理,您可以使用工作角色。当接收到数据时,WCF 服务会在服务总线队列上放置一条消息,该消息将由工作角色接收,该角色可以异步处理数据。

对于数据存储,您可以查看 Windows Azure 存储中的表和 Blob 存储,或者如果您需要关系存储,请查看 Windows Azure SQL 数据库。这两种方法各有利弊。

有相当多的技术需要评估,因此可能值得通过一些教程来了解什么是最佳实现。Windows Azure 培训工具包是一个很好的起点。

http://www.microsoft.com/en-us/download/details.aspx?id=8396

问候,

艾伦

于 2012-11-17T11:02:02.103 回答
3

您可以通过根据负载增加 Web 和 Worker 角色的实例来进行扩展。Azure 角色(云服务)是无状态的(默认情况下不支持粘性会话),因此来自同一客户端的请求响应将平均分配给您的所有实例(循环)。

于 2012-11-18T04:23:45.977 回答
2

@coolshashi。默认情况下,一个 Azure 云解决方案可以包含 5 个不同的角色(Web 或 Worker 的组合无关紧要)。这些角色中的每一个都可以有多个实例。例如:您的 Web 角色的 7 个实例可以形成您的前端 Web 场,将订单放在服务总线队列上。这些订单可能会被您的 Worker Role 的 2 个实例读取,它们会处理它们并将它们放入数据库中。

Web 角色和辅助角色之间的唯一区别是 Web 角色安装并启动了 IIS。

根据您定义的某些指标(即:CPU 使用率或队列中的消息),可以轻松配置每个角色的实例数以动态更改。因此,该解决方案可以扩大规模以处理负载并在不需要时缩小以节省资金。

大多数 Azure 订阅(或帐户)最初都限制为 20 个核心。这是为了防止您意外创建巨额账单。如果您的解决方案需要更多,与 Microsoft 的快速聊天可以消除该限制,从而为您提供尽可能多的服务。

于 2014-03-09T05:24:10.167 回答