Я разрабатываю решение REST для удаленной связи с несколькими серверами, которые существуют в другой сети. Некоторые из звонков относительно короткие, а другие могут занимать минуты. Вызовы являются синхронными по своей природе, поэтому, если вызов асинхронный, клиент (фактически сервер) должен опрашивать ответ. Опрос является неоптимальным в том смысле, что он вызывает снижение производительности и задерживает ответ конечному пользователю на долю интервала опроса. Я бы предпочел использовать синхронные вызовы, но если сетевое соединение обрывается, нет возможности получить ответ. Если асинхронный, удаленный сервер может вернуть идентификатор задания, который может быть опрошен, и пережить периодические проблемы с сетью. Повторные попытки и идемпотентность являются важными факторами.
Я ищу несколько рекомендаций по подходу. У нас также есть звонки, которые инициируются удаленным сервером. Они пройдут через балансировщик нагрузки для HA. Я также был бы заинтересован в некоторых рекомендациях книги, которые описывают лучшие практики для общения предпринимателей в среде высокой доступности. Кажется, я не могу найти что-то, что охватывает эту тему.