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

Construindo um api de dados esportivos que responde a 6000 req/s

Construindo um api de dados esportivos que responde a 6000 req/s

Falo um pouco sobre a experiência de de construir uma API de dados esportivos que é usada pela Globo.com e parceiros, que responde hoje a 6000 req/s.O resultado do investimento na construção de uma nova API, problemas encontrados e soluções aplicadas usando as tecnologias como Python, Tornado, Redis, C e Nginx.

Rafael Martins

November 08, 2013
Tweet

More Decks by Rafael Martins

Other Decks in Programming

Transcript

  1. eu • Desenvolvedor apaixonado • Programador poliglota • Jogador de

    Magic e RPG • DJ nas horas vagas • Globo.com / esportes sexta-feira, 8 de novembro de 13
  2. estado anterior • 150 req/s • documentação ruim • serviços

    inconsistentes • base de código ruim sexta-feira, 8 de novembro de 13
  3. model / repository jogo.equipe_mandante.nome X X X ids = [jogo.equipe_mandante_id,

    jogo.equipe_visitante_id] equipe_repository = EquipeRepository() equipes = equipe_repository.get_equipes(ids) sexta-feira, 8 de novembro de 13
  4. cache back-end lista de jogos classificação ficha Romário Romário 1

    1 2 3 redis mysql sexta-feira, 8 de novembro de 13
  5. expiração ativa SDE API /atletas/romario /equipes/flamengo/elenco Cache atletas savio, nelio,

    romario atleta nelio atleta savio atleta romario SDE Admin Banco de sexta-feira, 8 de novembro de 13
  6. expiração ativa SDE API /atletas/romario /equipes/flamengo/elenco Cache atletas savio, nelio,

    romario atleta nelio atleta savio atleta romario SDE Admin Banco de sexta-feira, 8 de novembro de 13
  7. expiração ativa SDE API /atletas/romario /equipes/flamengo/elenco Cache atletas savio, nelio,

    romario atleta nelio atleta savio atleta romario SDE Admin Banco de sexta-feira, 8 de novembro de 13
  8. expiração ativa SDE API /atletas/romario /equipes/flamengo/elenco Cache atletas savio, nelio,

    romario atleta nelio atleta savio atleta romario SDE Admin Banco de sexta-feira, 8 de novembro de 13
  9. Nginx - AAA web Autenticação Acesso Autorização Monitoração token: aaa

    Nginx- AAA Redis sexta-feira, 8 de novembro de 13
  10. Nginx - AAA web Autenticação Acesso Autorização Monitoração token: aaa

    Nginx- AAA Redis Com 1000 req simultâneas em 120ms sexta-feira, 8 de novembro de 13
  11. cache front-end Nginx - AAA Nginx - cache SDE API

    SDE API SDE API web sexta-feira, 8 de novembro de 13