Мне нужно использовать некоторые нисходящие веб-сервисы, которые требуют привязки к серверу, и мои сервисы являются лишь фасадом (прокси) нисходящих сервисов, то есть: когда я вызываю DownStreamService.DoMyJob()
, который является сервисом с балансировкой нагрузки, он возвращаетрезультат и URL-адрес локального сервера, по которому перенаправляются последующие вызовы одного и того же клиента.
Для нисходящего сервиса требуется это сходство, потому что он использует некоторыелокальный ресурс на сервере и не имеет никакого способа сделать это, по-видимому, иначе.
Я не отвечаю за приложение, которое является собственным мобильным приложением, и владелец приложения не хочет вносить какие-либо изменения.У некоторых клиентов, использующих это мобильное приложение, звонки проксируются через прокси-сервер, который я не обрабатываю.Мои фасадные сервисы основаны на REST, а нисходящий сервис, который я использую, является SOAP.
В этом протоколе связи нет метаданных, ни заголовка, ни файла cookie: URL-адрес для обратного вызова нижестоящего сервера является частьюполезная нагрузка, возвращаемая нисходящей службой.
Мои вопросы:
Можно ли использовать балансировщик нагрузки для обеспечения соответствия сервера?
Должен ли я передавать URL-адрес локального сервера обратного вызова клиенту и просить его каждый раз отправлять его обратно, даже если он им не нужен?На данный момент я удалил эту информацию из ответа, и клиент ничего о ней не знает.
Это хорошая практика - самостоятельно справляться с этой привязанностью в моем служенииперенаправить последующие вызовы на нижестоящий сервер?