Сервис-ориентированная архитектура - AMQP или HTTP

Немного предыстории.

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

Мы используем RabbitMQ в качестве брокера для сельдерея.

Прямо сейчас у нас есть два варианта:

Сервисы HTTP, использующие интерфейс REST.JSONRPC через AMQP для службы цикла событий

Моя команда склоняется к HTTP, потому что этоС чем они знакомы, но я думаю, что преимущества использования RPC по сравнению с AMQP намного перевешивают его.

AMQP дает нам возможность легко добавлять балансировку нагрузки и высокую доступность с гарантированной доставкой сообщений.

В то время как с HTTP мы должны создавать клиентские обертки HTTP для работы с интерфейсами REST, мы должны установить балансировщик нагрузки и настроить эту инфраструктуру для обеспечения высокой доступности и т. Д.

С AMQP я могу просто порождать другой экземпляр сервиса, он будет подключаться к той же очереди, что и другие экземпляры, и bam, HA и балансировке нагрузки.

Я что-то упускаю из-за своих мыслей о AMQP?

Ответы на вопрос(2)

Ваш ответ на вопрос