2016-02-01 3 views
0

У меня есть куча разных RESTful услуг, и они предназначены для того, чтобы быть максимально раздельными (физически или логически). Но иногда им нужно общаться друг с другом (если доступно). До тех пор, пока они являются веб-серверами, я использую http для доставки сообщений от одного к другому и получения ответа.Есть ли готовое решение для обмена данными между веб-серверами?

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

Другое дело, скажем, у меня есть 10 экземпляров услуг A и только 5 экземпляров B, и есть внутренний балансировщик нагрузки, поэтому, когда A запрашивает B, балансир дает ему наиболее доступный B. С этого момента у меня есть сомнения , если keep-alive может помочь здесь.

Есть ли готовая к производству библиотека для этого? Что-то похожее на pub/sub, когда служба публикует запрос, а некоторый бесплатный сервис от определенных групп обрабатывает его и дает ответ? Или, скажем, когда услуга B вытаскивает услугу A, B хочет некоторое время придерживаться A для нескольких запросов, а затем искать бесплатную.

UPD. Я использую рамки tornado (python), с nginx как балансировщик нагрузки (и планирую использовать Amazon в будущем).

Извините, если этот вопрос слишком широк.

Спасибо!

+1

Этот вопрос слишком широк. Не могли бы вы сузить его, добавив сервер и технологии, которые вы используете? –

+0

@ CássioMazzochiMolin Извините, обновил вопрос. – desertkun

+0

Есть, по крайней мере, три разных вопроса: это одно. Вы можете получить лучший ответ, когда вы разделите его на конкретные – kwarunek

ответ

0

После некоторых расследований я нашел RabbitMQ решением проблемы. Он поставляется с брокером и мощным инструментом администрирования.

RabbitMQ

Использование RPC Я реализовал асинхронный шаблон запроса ответа через JSON-RPC, поэтому внутренние сервисы могут взаимодействовать друг с другом довольно быстро. Несколько экземпляров одной и той же услуги могут быть привязаны к брокеру, и запросы идут циклично.

Кроме того, статья this помогла мне найти представление о том, как это сделать.

 Смежные вопросы

  • Нет связанных вопросов^_^