Я хочу разработать многосерверную кластерную структуру, которая будет работать аналогично приведенным ниже шагам для потока сообщений.
От клиента
- Сервер шлюза получает сообщение
- Сервер шлюза отправляет сообщение ACK (UDP)
- Сообщение десериализуется из двоичного кода в объект через фабрику.
- Затем сообщение направляется на вторичный сервер в кластере (на основе конфигурации) и отправляет объект на вторичный сервер через WCF.
- Сообщение обрабатывается на вторичном сервере.
С сервера
- Вторичный сервер создает сообщение и отправляет его на сервер шлюза.
- Двоичный файл сервера шлюза сериализует сообщение
- Сервер шлюза отправляет двоичный файл клиенту и ожидает сообщения ACK (UDP)
Серверы будут настроены через файлы .config для указания на службы либо локально в том же приложении (будет инициализирована WCF), либо в других системах.
Кто-нибудь работал над созданием подобной архитектуры, и если да, то с какими проблемами вы столкнулись?
РЕДАКТИРОВАТЬ
Система будет серверной частью уже существующего протокола, поэтому любой клиент-серверный протокол по существу неприкосновенен, но он включает управление состоянием (клиент отправляет сеанс с каждым вызовом), шифрование, маршрутизация сервера и защита пакетов.
Изменить
Может ли кто-нибудь дать ссылку на проект с открытым исходным кодом, использующий кластеризацию в .Net?