Lockers de operações
Um locker distribuído funciona como um “sinal de trânsito” para recursos compartilhados em sistemas distribuídos. Imagine que vários trabalhadores (workers) estão tentando acessar a mesma porta ao mesmo tempo: sem um controle, todos poderiam entrar juntos e causar bagunça. O locker garante que apenas um worker entre de cada vez, enquanto os outros esperam na fila.
Vantagens
- Consistência de dados: evita que dois processos modifiquem o mesmo recurso simultaneamente.
- Controle em múltiplas instâncias: funciona mesmo que sua aplicação rode em vários servidores.
Desvantagens
- Complexidade extra: precisa lidar com filas, notificações e timeouts.
- Dependência externa: exige um sistema como Redis para gerenciar locks distribuídos.
Exemplos práticos
| Cenário | Exemplo de uso |
|---|---|
| Processamento de pedidos | Dois workers não processam o mesmo pedido ao mesmo tempo. |
| Tarefas em background | Uma tarefa agendada só roda uma vez em um cluster. |
| Sistemas de reservas | Evita que duas pessoas reservem a mesma vaga simultaneamente. |
| Controle de estoque | Evita que a quantidade de um produto seja reduzida duas vezes ao mesmo tempo. |
💡Intuição visual

O locker funciona como um porteiro digital, garantindo que os recursos críticos sejam acessados de forma ordenada e segura, sem colisões, mesmo em ambientes distribuídos.