O documento descreve a jornada da MaxMilhas para entregar uma plataforma escalável capaz de suportar altos volumes de acessos durante eventos de grande porte e seu período de crescimento acelerado. Eles realizaram vários testes de carga que identificaram melhorias como cache, limites de conexões, otimizações no kernel e mudança na biblioteca de requisições. Após as correções, a plataforma se mostrou pronta para o hipercrescimento com picos de 15 milhões de requisições por hora.
3. A MaxMilhas é um site de busca e compra de passagens
aéreas mais baratas. Aqui, as pessoas encontram as
melhores combinações de tarifas, com até 50% de
desconto. E isso é possível porque fazemos a emissão de
passagens com as milhas de quem quer vender.
4. Melhor agência de viagens online do Reclame Aqui
+2 milhões de passagens emitidas
Mais de 1,5 milhão de clientes cadastrados
Líder no segmento de venda de passagens aéreas emitidas com
milhas de terceiros
Inovação no setor de viagens do Brasil
Um dos maiores cases de bootstrapping do país
Crescimento de 3 dígitos por ano
Vencedora do Prêmio E-commerce Brasil 2018
5ª melhor empresa para se trabalhar em MG, segundo o GPTW
Ranking do LinkedIn Top Startups
Finalista do Prêmio ReclameAqui 2018
10. Entender o cenário de incerteza
Ser altamente escalável
Entregar com baixíssima latência
Atender expectativa do mercado
Atender expectativa dos usuários
Atender expectativa da empresa
11. study done by Amazon almost 10
years ago proved that, even then, a
100-millisecond decrease in
page-loading time translated to a
1% increase in its revenue.
12. According to surveys done by Akamai and
Gomez.com, nearly half of web users expect
a site to load in 2 seconds or less, and they
tend to abandon a site that isn’t loaded
within 3 seconds. 79% of web shoppers who
have trouble with web site performance say
they won’t return to the site to buy again and
around 44% of them would tell a friend if
they had a poor experience shopping online.
21. Entender o cenário de cada
aplicação, principalmente aquelas
que sofreram no teste de carga
Por que elas capotaram
Volumetria de acessos
Tempo de resposta esperado
Inputs e Outputs
Frequência da mudança do Output
Impacto da reutilização do Output
25. Ações:
Cache a nível de HTTP
Server Side Include (SSI)
Controle de throttling
Proxy queue para os providers de busca de voos
ProxySQL
Anti-bot (30% do nosso acesso eram de bad bots)
Tunning de Kernel
Revisão de limites na AWS
Utilização de instâncias spots (spotinst) para escalar
mais com menor custo
Revisão de throughput de IOPS nos BD
42. Ele foi muito melhor que o primeiro e
tínhamos alguns ajustes pontuais para
fazer
43. Mas o teste de
carga não
contemplava o
tal do BFF
44. Mas que raios é BFF?
Backend for Frontend, é uma aplicação que
acopla várias aplicações backend para se
comunicar com o frontend (manipulações e
transformações de dados), o que era essencial
para o funcionamento da mecânica das
campanhas
45. E lá vamos nós, ao terceiro
teste carga, agora com os
ajustes finais e com o BFF
55. +15M req por hora durante o pico
+4.5k req por segundo
+80 buscas por segundo em média
+1000% de usuários simultâneos
+3TB de informações de vôos
+23TB de dados trafegados