用于分布式桌面和Web应用程序的Azure服务

时间:2016-03-05 12:28:06

标签: c# azure cloud

我正在尝试找出用于创建分布式应用程序的Azure服务。该应用程序包含

  • 在Azure中提取,操作和存储数据的桌面(Windows)应用程序
  • 存储数据并进行后台处理的后端。
  • 允许我在后端查看数据并触发后台处理的Web前端
  • 任意数量的桌面应用程序实例都可以连接到后端并访问相同的数据

桌面应用程序和Web应用程序将向后端发送和接收数据。每条消息最多可达100 MB(图像等)。

Azure宇宙有点压倒性,我正试图找出如何设置它。

我最初的想法是让桌面应用程序与带有WCF的Azure云服务进行通信。云服务使用WCF Web角色进行设置。一个单独的Web应用程序(Web角色?)正在与相同的WCF Web角色进行通信。

WCF角色还将启动辅助角色,以执行更繁重,更耗时的处理。

欢迎任何想法和见解! :)

1 个答案:

答案 0 :(得分:0)

对于WCF服务和Web前端,您可以同时使用Azure云服务或应用服务 - 这主要取决于您是否需要在计算机上安装某些第三方组件(Azure Cloud Service允许您这样做)。

对于后台处理,请使用App Services中的Web作业或Cloud Service中的辅助角色。您还应该使用一些队列(我喜欢更多服务总线,然后是存储帐户中的Azure队列)。您的工作者角色或Web作业应该监视此队列,当您向其添加一些消息时,应该触发一些后台处理。后台处理也可以在WCF进程本身中完成,但使用辅助角色或Web作业可以提供更多可用性。

对于存储blob(如图像)肯定使用Microsoft Storage(Blobs),对于其他数据,您可以使用Sql Database或一些非常新的东西:DocumentDB。 Sql Database使用起来更简单,更容易将数据迁移到其他服务器等,但价格更贵。

当然,您可以在虚拟机上执行相同操作,但我想这不是您要求的内容:)