2012-03-26 65 views
3

我正在设计一个后端,它允许用户使用它建立一个TCP套接字并沿着此套接字发送/接收内容(使用伪协议I'实时制作)。使用服务总线将消息从Web角色发送到所有其他Web角色

它必须是可扩展的 - 即架构在云主机上。目前我正在评估Windows Azure。


为了实现可伸缩性,应用程序将在多个Web角色实例上运行。这意味着用户的TCP套接字将被分成几个实例(通过负载均衡器)。

这个后端是一个事件驱动的应用程序 - 当用户向它发送消息时应该将消息传递给所有其他连接的用户。

这意味着必须有可靠的方式将消息从一个Web角色实例发送到所有其他Web角色实例。据我所知,这是角色间沟通所指的。

使用服务总线,所有Web角色实例是否可以订阅主题并向其发布消息?从而实现分布式应用程序的事件驱动需求?

(如果没有,那么我误解这篇文章是关于什么:http://windowsazurecat.com/2011/08/how-to-simplify-scale-inter-role-communication-using-windows-azure-service-bus/


我想深入钻研学习C#,.NET和Windows Azure的开发之前发现这一点。

谢谢你的帮助。

回答

3

是的,使用服务总线,所有Web角色都可以将消息发送到单个主题,并且每个角色都可以具有对该主题的唯一单独订阅,以便它们都可以接收发送的消息。

Clemens Vaster通过服务总线实现了对SignalR的扩展。 SignalR +服务总线可能会满足您的项目需求,包括TCP套接字实现。

http://vasters.com/clemensv/2012/02/13/SignalR+Powered+By+Service+Bus.aspx

+0

真棒,谢谢你确认我的想法 - 我现在可以开始学习如何为天青多一点彻底方案!我也看过SignalR,但作为后端,我正在为智能手机应用程序开发,我不认为SignalR是合适的。 – 2012-03-26 17:51:56