Я разрабатываю бэкэнд, который позволяет пользователям устанавливать с ним сокет TCP и отправлять / получать данные по этому сокету (используя созданный мной псевдопротокол) в режиме реального времени.
Он должен быть масштабируемым, т.е. иметь архитектуру на облачном хосте.В настоящее время я оцениваю Windows Azure.
Для достижения масштабируемости приложение будет работать на нескольких экземплярах веб-ролей.Это означает, что пользовательские TCP-сокеты будут разделены на несколько экземпляров (через балансировщик нагрузки).
Этот бэкэнд является приложением, управляемым событиями - когда пользователь отправляет что-то ему, сообщение должно быть передано всем другимподключенные пользователи.
Это означает, что должен существовать надежный способ отправки сообщений из одного экземпляра веб-роли во все другие экземпляры веб-роли.Насколько я понимаю, это то, к чему относится взаимодействие между ролями.
Используя служебную шину, могут ли все экземпляры веб-ролей подписаться на тему и публиковать в ней сообщения?Таким образом, реализуя управляемые событиями требования моего распределенного приложения?
(Если нет, то я неправильно понял, о чем эта статья: http://windowsazurecat.com/2011/08/how-to-simplify-scale-inter-role-communication-using-windows-azure-service-bus/)
Я хотел бы узнать это, прежде чем углубляться в изучение C #, .NET и Windows Azure.
Спасибо за помощь.