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