您将如何在Windows Azure上实现即时消息

时间:2012-01-16 11:29:26

标签: asp.net-mvc-3 azure azure-sql-database instant-messaging

您好我们正在考虑在我们的网络应用中实施聊天功能。 (在Azure上运行的MVC 3),如Facebook或Gmail应用程序。

所以关于这个问题的想法是让你的技术架构意见。

您将如何设计它以及您将使用哪些服务(工作者角色,队列,blob,Sql azure等)。

由于

2 个答案:

答案 0 :(得分:0)

Instant Messaging是指在多个发布者和订阅者之间异步传递邮件。这听起来像是Azure Queues的完美配方。

如果使用此功能的用户数量很少,您可以为每个收件人创建一个队列。 Web应用程序会将邮件丢弃到收件人的队列中,并检查自己用户的队列。

这种方法的优点是简单性这种方法的缺点是检查每个用户的队列的频率以及与之相关的成本。

如果有10,000名用户登录IM并且应用程序每秒检查一次队列,那么每秒1便士。这相当于每月26,000美元。

答案 1 :(得分:0)

Windows Azure Service Bus提供了发布 - 订阅消息传递,其中包含可用于此方案的主题。您可以看到基于Silverlight的聊天示例:http://servicebus.codeplex.com/SourceControl/changeset/view/9715

此外,您还可以在此处看到使用来自Web /辅助角色的服务总线主题/订阅显示的多层应用示例:http://code.msdn.microsoft.com/windowsazure/Multi-Tier-application-6c033cad