Os serviços se comunicam sincronamente (solicitação/resposta via REST ou gRPC) ou assincronamente (mensagens/eventos através de um broker como Kafka ou RabbitMQ).
Síncrono (solicitação/resposta)
O chamador aguarda uma resposta. Simples e intuitivo, mas acopla a disponibilidade — se o chamado estiver inativo, o chamador é afetado.
GET /orders/42 HTTP/1.1
Host: orders-service
Accept: application/json
Assíncrono (mensagens/eventos)
O remetente publica uma mensagem e prossegue; consumidores a processam depois. Isso desacopla os serviços no tempo.
