O dia em que um arquiteto de software abriu uma esfirraria na minha rua 🍕💻
Outro dia, fui fazer um pedido na esfirraria perto de casa. Só queria algumas esfirras, mas acabei descobrindo um processo tão bem estruturado que parecia ter sido desenhado por um arquiteto de software.
Então reparei que o processo era totalmente assíncrono:
👉 Enquanto eu pagava no caixa, outro funcionário da cozinha pegou meu pedido no quadro e começou a preparar.
👉 Quando terminei de pagar, meu pedido já estava sendo finalizado.
👉 Os motoboys retiravam pedidos para entrega de um balcão separado, sem interromper o fluxo do salão.
A cada minuto, novos pedidos entravam e saíam de forma independente, sem um gargalo centralizando tudo. Parecia que cada etapa do processo era um serviço isolado que se comunicava de forma eficiente.
E se essa esfiharia fosse um software?
👉 O balcão seria um API Gateway.
👉 Os atendentes seriam workers, escalando conforme a demanda.
👉 O quadro de pedidos seria uma fila (queue) onde as requisições aguardam processamento.
👉 O cozinheiro seria um consumer, pegando os pedidos na fila (pull-based).
👉 O balcão de retirada seria um subscriber de um tópico recebendo e processando eventos quando um pedido ficasse pronto.
Bom, isso aconteceu de verdade! Eu tenho essa mania de enxergar software em tudo. Mas, provavelmente, o dono da esfirraria não era um arquiteto de software... 😆
E aí, essa analogia ajudou a entender melhor como funciona uma arquitetura de microserviços? Comenta aqui! 👇