3

我正在设计一个后端,它允许用户使用它建立一个 TCP 套接字,并沿着这个套接字实时发送/接收东西(使用我编写的伪协议)。

它必须是可扩展的——即在云主机上构建。目前我正在评估 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 开发之前,我想弄清楚这一点。

感谢您的帮助。

4

1 回答 1

3

是的,使用服务总线,所有 Web 角色都可以向单个主题发送消息,并且每个角色都可以对该主题拥有唯一的个人订阅,这样他们都可以接收发送的消息。

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

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

于 2012-03-26T16:31:53.927 回答