Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

comunicação entre microserviços

quais são os tipos de comunicação entre microserviços ?

2 respostas
solução!

Olá Luiz, tudo bem?

Existem duas formas básicas de comunicação de microsserviço: síncrona e assíncrona. Na comunicação síncrona, as chamadas criam uma cadeia de dependências por meio de todos os serviços. Por exemplo, um serviço que faz uma chamada síncrona para um carrinho de compras também pode ficar dependente do pagamento associado e dos serviços de armazenamento. Se um ou mais desses serviços não estiverem disponíveis, é improvável que o chamador receba uma resposta. Mesmo que haja uma resposta, pode demorar tanto que o usuário encerrará a sessão.

A maneira de contornar esse problema é usar comunicações assíncronas. Em vez de construir uma cadeia contínua de dependências, a abordagem assíncrona trata cada comunicação separadamente. Isso permite que cada microsserviço opere independentemente e reaja às chamadas sem esperar uma resposta dos serviços.

Por exemplo, o serviço solicitante faz uma chamada para o carrinho de compras, o que pode indicar imediatamente que está atualizado e pronto para ser visualizado pelo cliente. Enquanto isso, o carrinho de compras pode fazer chamadas para armazenamento, pagamento e assim por diante. Essas respostas podem ser armazenadas e ficar prontas para uso quando o cliente clicar para concluir a transação.

Dados esses exemplos, pode parecer que assíncrono é sempre a melhor abordagem, mas esse não é necessariamente o caso. Por exemplo, algumas chamadas de consulta em tempo real podem precisar ser síncronas, especialmente quando a resposta recebida altera significativamente a função dos serviços de chamada. No entanto, você ainda pode fazer a maioria das chamadas de consulta de forma assíncrona.

Agora também existem várias formas / protocolos de comunicação. HTTP é um protocolo comum de comunicação entre microsserviços usado com mais frequência para comunicação síncrona. Sua abordagem sem estado facilita as interações diretas entre todos os microsserviços. Embora o HTTP forneça comunicação simples, ele pode facilmente causar dependências indesejadas. Recomenda-se usar HTTP apenas como protocolo primário entre uma interface de usuário e o nível mais alto de serviços. Além disso, métodos assíncronos são recomendados.

No entanto, a introdução de REST para HTTP pode ajudar a lidar com comunicações de solicitação/resposta de forma assíncrona. Se você precisar usar HTTP, considere usar REST também, pois há muita padronização entre os dois. O principal benefício de usar os protocolos combinados são os tempos de resposta mais rápidos.

Para aqueles que optam por manter os protocolos assíncronos, considere explorar o protocolo de enfileiramento de mensagens avançado ( AMQP ). Esse protocolo amplamente disponível e maduro fornece um método padrão para comunicação de microsserviços e deve ser uma prioridade para aqueles que desenvolvem aplicativos de microsserviços verdadeiramente compostos.

ajudou muito. grato.