Как полностью использовать масштабируемый веб-сервис из другого серверного приложения - PullRequest
0 голосов
/ 10 октября 2019

Существует клиент-серверное приложение A, которое находится вне моего контроля. Серверная часть масштабируется по горизонтали и использует балансировщик нагрузки Cisco, который настроен на использование файлов cookie в качестве основной политики постоянства и исходного IP-адреса в качестве вторичного. Алгоритм балансировки - наименьшее количество подключений.

Я пишу новое клиент-серверное приложение B, которое должно использовать службу WCF приложения A. Я кеширую cookie-файлы, полученные от A в течение сеанса моего пользователя, и отправляю их обратно, чтобы избежать скачковсеанса пользователя между узлами. Но в то же время мне нужно полностью использовать все узлы приложения A. В настоящее время он всегда связан с одним узлом A, поскольку изначально правило отката по исходному IP-адресу связывает сервер приложения B с конкретным узлом A (в начальных запросах нет файлов cookie). и некоторые запросы инициализации идут вообще без контекста пользователя). Даже если я сделаю B также горизонтально масштабируемым, все равно нет никакой гарантии полного использования, как будто, когда мое приложение запускается, один из узлов B имеет наименьшее количество соединений, все мои узлы могут быть связаны с одним узлом B. Также для приложения A балансировочные соединения от конечных пользователей A и приложения B имеют одинаковый вес, что также может вызвать дисбаланс.

Звучит для меня как обычный сценарий, но я действительно не могу найти решение, которое не потребует измененийпри применении Балансировщик нагрузки.

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...