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