Arquitetura Orientada a Serviços - AMQP ou HTTP

Um pouco de fundo.

Aplicação Django monolítica muito grande. Todos os componentes usam o mesmo banco de dados. Precisamos separar serviços para que possamos atualizar independentemente algumas partes do sistema sem afetar o resto.

Nós usamos RabbitMQ como um corretor para o aipo.

Agora temos duas opções:

Serviços HTTP usando uma interface REST.JSONRPC sobre AMQP para um serviço de loop de eventos

Minha equipe está inclinada para o HTTP porque é com isso que eles estão familiarizados, mas acho que as vantagens de usar o RPC sobre o AMQP superam isso.

O AMQP nos fornece os recursos para adicionar facilmente balanceamento de carga e alta disponibilidade, com entregas de mensagens garantidas.

Considerando que, com o HTTP, temos que criar wrappers de HTTP do cliente para trabalhar com as interfaces REST, temos que colocar um balanceador de carga e configurar essa infraestrutura para ter HA etc.

Com AMQP eu posso apenas gerar outra instância do serviço, ele irá se conectar à mesma fila que as outras instâncias e bam, HA e balanceamento de carga.

Estou faltando alguma coisa com meus pensamentos sobre o AMQP?

questionAnswers(2)

yourAnswerToTheQuestion