У меня есть куча разных RESTful
услуг, и они предназначены для того, чтобы быть максимально раздельными (физически или логически). Но иногда им нужно общаться друг с другом (если доступно). До тех пор, пока они являются веб-серверами, я использую http для доставки сообщений от одного к другому и получения ответа.Есть ли готовое решение для обмена данными между веб-серверами?
Вопрос в том, что http
как протокол достаточно эффективен при этом? Поскольку для каждого запроса требуется новое соединение, я заинтересован в другом решении, готовом к высокой нагрузке.
Другое дело, скажем, у меня есть 10 экземпляров услуг A и только 5 экземпляров B, и есть внутренний балансировщик нагрузки, поэтому, когда A запрашивает B, балансир дает ему наиболее доступный B. С этого момента у меня есть сомнения , если keep-alive
может помочь здесь.
Есть ли готовая к производству библиотека для этого? Что-то похожее на pub/sub
, когда служба публикует запрос, а некоторый бесплатный сервис от определенных групп обрабатывает его и дает ответ? Или, скажем, когда услуга B вытаскивает услугу A, B хочет некоторое время придерживаться A для нескольких запросов, а затем искать бесплатную.
UPD. Я использую рамки tornado
(python), с nginx
как балансировщик нагрузки (и планирую использовать Amazon в будущем).
Извините, если этот вопрос слишком широк.
Спасибо!
Этот вопрос слишком широк. Не могли бы вы сузить его, добавив сервер и технологии, которые вы используете? –
@ CássioMazzochiMolin Извините, обновил вопрос. – desertkun
Есть, по крайней мере, три разных вопроса: это одно. Вы можете получить лучший ответ, когда вы разделите его на конкретные – kwarunek