Часть этого вопроса в том, что я даже не уверен, что именно мне нужно спросить, поэтому я начну с ситуации и отработаю.
Один проект, над которым я работаюпредполагает использование COMET через библиотеку aspComet.Вариант использования программы представляет собой совместное слайд-шоу.Один человек управляет большей частью этого, с одним или несколькими участниками, способными выполнить определенные действия.Низкая задержка между выполнением действия на экране
Ранее оно просто выполнялось на одном сервере.Теперь мы хотим немного его масштабировать, больше для надежности, чем для повышения производительности.Итак, у нас есть несколько коробок в облаке Rackspace и все эти забавные вещи.
Я знал с самого начала, что мне нужно будет внести некоторые изменения в работу COMET, поскольку разные люди водно и то же «шоу» может быть на разных серверах, и у меня нет возможности узнать, к какому «шоу» они относятся, пока они не появятся на сайте.
Сначала я решил эту проблему с помощью провайдера WCF Mesh., который не был хорошо задокументирован для начала, теперь я сталкиваюсь с проблемами с отправкой сообщений, которые иногда теряются или откладываются (я не уверен на 100%, что там происходит), но это облажается долгоопрашивать COMET и ломать вещи довольно странным образом (щелчок по кнопке может вызвать событие или зависание на 10 секунд {длительная продолжительность опроса} и фактически ничего не делать).
Дополнительные исследования приводят меня кповерьте, один из провайдеров сервисной шины .Net может сделать то, что мне нужноОднако я не могу найти примеры, которые бы охватывали то, что мне нужно:
- Нет единой точки отказа (вне базы данных)
- Нет жесткого кодирования пиров.
- Практически в реальном времени (без опроса, лучше всего использовать события)
Мое идеальное решение заключается в том, что, когда сервер запускается, он сообщает другим серверам о его существовании (даже если это простогде-нибудь в таблице), и они могут начать отправлять широковещательные сообщения между собой, причем каждый сервер является и издателем, и подписчиком.Это то, что у меня было в провайдере WCF Mesh, но я не слишком уверен в этом коде.
Может кто-нибудь указать мне правильное направление с этим?Даже подходящие условия, которые нужно искать в документах для поставщиков сервисных шин, были бы хороши на этом этапе.Или служебные автобусы не то, что я хочу?На этом этапе я согласился бы настроить сервер Jabber на каждом веб-сервере и использовать его, если он мог бы соответствовать моим ограничениям.