Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Resiliência com Circuit Breaker usando Redis

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →

Resiliência com Circuit Breaker usando Redis

Avatar for Leonardo Carmo

Leonardo Carmo

December 06, 2019

Other Decks in Programming

Transcript

  1. Quem sou eu? • ~5 anos trabalhando com PHP •

    Engenheiro de Software Sênior • Serasa Consumidor - Score • Blumenau - SC • Primeira Talk
  2. Dia a dia • Serasa Score em PHP (Lumen) •

    ~13M de usuários únicos/mês • +3M de eventos/dia • +40M logs/dia • ~2.500 requests/segundo • 12 microservices
  3. Problema • Muitas requisições • Tempo de resposta baixo •

    Manter o serviço em pé • Economizar recursos ($$)
  4. Microservices Pontos positivos • Diminui ponto de falha • Altamente

    escalável por módulos • Agilidade no deploy • Versionamento de rotas • Multi linguagens • Atualização de pacotes e libs Desafios • Monitoramento • Alta complexidade de gerenciamento
  5. Circuit Breaker • Requests externas podem falhar ou demorar muito

    (timeout) • Muitas requisições ao mesmo destino podem afetar a origem • Monitorar as falhas para não ser afetado • Alertar sobre falhas em outros serviços
  6. Redis • Open Source • Armazenamento em memória • Database

    • Cache • Message broker • Redis Sentinel (Automatic failover) • Performance alta • Redis Commander