As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Comunicação síncrona
Na comunicação síncrona, um cliente inicia uma solicitação para um serviço, conforme ilustrado no diagrama a seguir. Exemplos incluem uma solicitação para obter informações, como uma solicitação HTTP GET, ou uma solicitação para alterar dados, como uma solicitação HTTP
PUT. Em ambos os casos, o cliente espera que o servidor responda antes de continuar. Chamadas síncronas são conhecidas da maioria dos desenvolvedores, são fáceis de implementar e solucionar problemas e, em muitos casos, são o padrão de comunicação amplamente aceito.
Os benefícios da comunicação síncrona incluem:
-
Controle de fluxo previsível: execução determinística e ciclos claros de solicitação/resposta que são mais fáceis de entender em comparação com a comunicação assíncrona.
-
Forte consistência: confirmação imediata de alterações de dados e atualizações de estado.
-
Tratamento simples de erros: propagação direta de erros e exceções.
-
Fácil depuração: rastreamento e monitoramento simples de solicitações.
-
Suporte para protocolos: protocolos bem estabelecidos, como HTTP e REST, que simplificam a implementação.
A comunicação síncrona tem algumas desvantagens:
-
Acoplamento forte: dependência direta dos serviços da disponibilidade uns dos outros.
-
Impacto na rede: aumento da carga da rede devido às conexões abertas constantes.
-
Utilização de recursos: maior uso de memória devido à manutenção dos estados de conexão.
-
Falhas em cascata: capacidade de os problemas em um serviço se propagarem rapidamente pelo sistema.