Execução síncrona e assíncrona
Synchronous / Asynchronous Execution
Padrão
BásicoCategoria: Arquitetura de aplicações de IASubcategoria: Execução e desempenho
O que significa
Na execução síncrona, quem faz o pedido espera a resposta antes de continuar. A latência é visível ao usuário: ele fica esperando. Na execução assíncrona, o pedido é registrado e processado depois; o resultado chega por notificação, webhook ou consulta posterior.
O processamento em lote é a forma assíncrona de tratar grandes volumes de uma vez, geralmente com desconto dos fornecedores e sem pressão de latência.
A escolha entre os dois modos é uma decisão de experiência tanto quanto de arquitetura.
Como usar na prática de produto
Em Produto, um fluxo com cinco capacidades em sequência raramente cabe em uma experiência síncrona. A decisão legítima é: “isso precisa ser instantâneo ou pode ser assíncrono com aviso?”.
O modo assíncrono libera o orçamento de latência, reduz custo (processamento em lote) e permite revisão humana sem travar o usuário. A experiência muda de “esperar” para “acompanhar”, o que exige comunicar prazos e status.
Por exemplo, a análise de uma vistoria pode ser assíncrona: o cliente recebe “você será notificado em até 2 horas”, e a fila processa com revisão humana quando necessário.
Quando usar este termo ou outro
Use execução síncrona quando a pessoa está esperando e a resposta cabe em poucos segundos.
Use execução assíncrona para processamento de documentos, análises em lote, fluxos com aprovação e qualquer tarefa longa.
Use processamento em lote quando o volume é grande e o resultado pode esperar horas.
Uma forma simples de diferenciar: síncrono é “aguarde”; assíncrono é “avisamos quando terminar”.
Exemplos de aplicação
- Chat: resposta síncrona em segundos, com streaming.
- Vistoria: análise assíncrona com notificação em até 2 horas.
- Documentos: processar contratos em lote durante a noite.
- Aprovação: fluxo assíncrono que aguarda a decisão de uma pessoa.
- Experiência: mostrar status e prazo quando o processamento é assíncrono.
Origem do termo
Conceitos fundamentais de programação e sistemas distribuídos.
Fonte técnica
Microsoft Azure Architecture Center, Asynchronous Request-Reply pattern; OpenAI Platform docs, Batch API
