Отказоустойчивость сервера Rest API - PullRequest
1 голос
/ 29 января 2020

У меня есть API, реализованный с Джерси. Внешний сервис делает HTTP-запросы к моей конечной точке и ожидает результата в ответ. В настоящее время я использую Asynchronous Server API , чтобы сделать все мои бизнес-логи c, а затем ответить, когда будет готов. Работает нормально, но теперь я хочу улучшить масштабируемость и H / A.

Мой план состоит в том, чтобы иметь несколько экземпляров моего API за балансировщиком нагрузки Nginx, и все запросы, принятые любым из моих экземпляров API, будут перенаправлены в другой микросервис с RabbitMQ. Наконец, я хочу собрать результаты микросервиса и прикрепить их к ответу.

Мой вопрос заключается в том, могу ли я динамически генерировать ответ на исходный HTTP-запрос из любого из моих экземпляров API. Я хочу, чтобы любой из них, не только тот, который изначально получил веб-крючок, мог отправлять HTTP-ответ вызывающей стороне. Каким-то образом возможно сохранить / сериализовать объект AsyncResponse. Другими словами, это означает, что даже если экземпляр, который первоначально получил запрос webhook, завис или не работает, другой может заполнить и отправить ответ.

Возможно, это невозможно, но все же я хотел бы услышать любые другие предложения, которые могут помочь.

Спасибо.

enter image description here

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