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

Por que o serviço de Webhooks da Dito é escrito...

Por que o serviço de Webhooks da Dito é escrito em Go?

Benchmark comparando duas implementações de um serviço de Webhooks, ambas rodando serverless em AWS Lambda, uma em Node e a outra Go.

Avatar for Arthur Bailão

Arthur Bailão

June 21, 2018

Other Decks in Programming

Transcript

  1. Características do Webhooks Service Stateless API Picos de requests Alta

    disponibilidade Tempo de resposta não é importante
  2. Benchmark HTTP POST Single: {"action": “buy"} Bulk: [{"action": “buy”}, {“action":

    “buy”}, …] / / 700 items Parse de JSON Adicionar a propriedade received_at Enviar pro Kinesis: PartitionKey = UUID, chunks de 500
  3. Experimento Deploy via AWS CodeStar: API Gateway + Lambda Ambas

    funções com configurações default: 128mb Teste de carga simultâneo de 15 min - Artillery
  4. Node Go Go é melhor em Tempo de Resposta Single:

    68 ms
 Bulk: 514 ms Single: 11 ms
 Bulk: 379 ms Single: 531%
 Bulk: 36% Custo p/ 100M pessoas Single: $27
 Bulk: $0,18 Single: $21
 Bulk: $0,13 Single: 28% Bulk: 34%
  5. Voltando à pergunta inicial
 Pq usamos Go na Dito? O

    custo de AWS Lambda é cerca de 30% menor