Engenharia de infraestrutura de real-time bidding para 100K QPS
Plataforma de real-time biddingDesenvolvimento de DSPDesenvolvimento de SSPAd ExchangePublicidade programáticaInfraestrutura de biddingClick-Through RateBaixa latênciaData centersAlta performance
Sistemas de RTB precisam avaliar, pontuar e responder a bid requests em até 10ms, a 100.000+ consultas por segundo. Veja como a infraestrutura funciona nessa escala.
Uma bid request chega do ad exchange. A infraestrutura de bidding tem 10ms para avaliar a impressão, pontuá-la contra as campanhas ativas, calcular um preço de lance e devolver uma resposta.
Perdeu o prazo, a impressão se foi. Não há nova tentativa. A 100.000+ QPS, mesmo uma taxa de timeout de 1% significa 1.000 oportunidades perdidas por segundo.
Coloque os bidders em co-location com as exchanges para recuperar tempo de avaliação
A latência de rede entre o bidder e o ad exchange reduz diretamente o tempo disponível para avaliar o lance. Um bidder a 50ms de distância de rede da exchange já perdeu antes de o seu código rodar.
Times de desenvolvimento de DSP que mantêm instâncias de bidder em co-location com as grandes exchanges recuperam milissegundos críticos:
Operar em 6-8 data centers globais recupera 5-15ms de tempo de avaliação por requisição em comparação com um deploy centralizado
Grupos de auto-scaling em cada região respondem aos padrões de tráfego - o US East atinge o pico no horário comercial enquanto o APAC reduz a capacidade
Instâncias regionais de bidder mantêm cópias locais dos dados de segmentação de campanha, sincronizadas a cada 5-10 segundos com o repositório central
Cabos de fibra óptica entre data centers carregam o tráfego de sincronização, mas o caminho de avaliação do bid nunca cruza fronteiras regionais
A escolha do data center é uma decisão de engenharia de primeira ordem para qualquer demand-side platform. Cada milissegundo de distância de rede se traduz diretamente em win rates menores.
A co-location com ad exchanges recupera 5-15ms de tempo de avaliação por bid request
Elimine a alocação de memória do hot path de avaliação de bids
A 100K QPS, os padrões de alocação de memória determinam se o sistema cumpre seu orçamento de latência. Pausas de garbage collection invisíveis a 100 QPS tornam-se catastróficas em escala.
O caminho de avaliação do lance usa técnicas específicas:
Tabelas de lookup pré-computadas para critérios de segmentação de campanha, frequency caps e restrições de orçamento - atualizadas de forma assíncrona a cada 5-10 segundos a partir do repositório principal de campanhas
Object pooling e arena allocation para eliminar por completo as alocações de heap por requisição
Estruturas de dados sem locks para estado compartilhado - bloom filters para frequency capping, contadores atômicos para o pacing de orçamento
Árvores de decisão pré-construídas para a avaliação de targeting - construir a árvore custa segundos, avaliá-la custa microssegundos
Zero alocação no hot path não é uma otimização. É um requisito a 100K QPS.
Rode a inferência do modelo de ML em menos de 3ms por lance
Modelos de previsão de click-through rate e de probabilidade de conversão precisam executar a inferência em 2-3ms como parte do pipeline geral de avaliação do lance. Cada milissegundo gasto em inferência deixa de estar disponível para o restante da lógica de lance.
O ONNX Runtime com modelos quantizados em INT8 oferece o melhor trade-off entre latência e acurácia:
Extração de features do bid request em menos de 0.5ms usando feature stores pré-computados com sinais de usuário e de contexto
Inferência de modelo em 1-2ms com avaliação ONNX em batch e execução com threads fixadas - sem troca de contexto durante o scoring
Calibração de score e cálculo do preço do bid em menos de 0,5ms usando curvas de preço pré-computadas por tier de campanha
Atualizações de modelo publicadas por blue-green switching - o novo modelo carrega em shadow mode, valida contra as previsões de produção e então troca atomicamente
Inferência de ML a 100K QPS exige serving de modelos otimizado para hardware, com zero overhead de alocação
Monitorar em escala sem adicionar overhead ao caminho do bidding
Logging tradicional a 100K QPS gera mais carga do que a própria lógica de bidding. A stack de monitoramento precisa ser tão consciente de performance quanto a aplicação:
Coleta de métricas por amostragem - registre 1 a cada 1.000 requisições em detalhe e agregue o restante em contadores e histogramas atualizados atomicamente
Acompanhamento de percentis em tempo real em p50, p95 e p99 por região, por ad exchange e por tier de campanha
Circuit breakers automáticos que retiram uma instância de bidder da rotação quando seus tempos de resposta p99 excedem o timeout da exchange
Detecção de anomalias em quedas da taxa de lances, mudanças de win rate e desvios na velocidade de gasto - identificando modelos desatualizados e degradação de rede mais rápido que o monitoramento por taxa de erro
Cuide do lado SSP da equação do leilão
Uma supply-side platform enfrenta o problema espelhado. Ela transmite bid requests a dezenas de compradores, coleta respostas, avalia preços mínimos, roda o leilão e devolve um vencedor - tudo dentro do seu próprio timeout apertado.
As equipes de desenvolvimento de SSP enfrentam complexidade adicional:
Header bidding significa rodar vários leilões em paralelo - o timeout de cada bidder é o orçamento de latência do SSP
A otimização de preço mínimo com modelos de ML precisa executar dentro da mesma janela de leilão sem adicionar latência
A lógica de leilão de alta performance avalia 20-50 respostas de lance por impressão, escolhendo o vencedor em menos de 1ms
Publicidade programática em escala exige que os dois lados do leilão otimizem sem trégua para baixa latência.
Adaptar a infraestrutura de bidding para inventário de apps mobile e in-app
Bid requests in-app carregam sinais diferentes dos da web. Identificadores de dispositivo (quando disponíveis), contexto do app e viewability reportada pelo SDK substituem os sinais baseados em cookies.
Modelos de click-through rate treinados em inventário web precisam de retreinamento para contextos in-app, onde os padrões de interação do usuário são bem diferentes.
A modelagem de atribuição em mobile exige integração de postback server-to-server com MMPs
A deduplicação entre múltiplas janelas de atribuição evita contar conversões em dobro
A reconciliação de matches probabilísticos e determinísticos roda de forma assíncrona - os resultados retornam ao modelo de bidding em até 24 horas
Uma plataforma de real-time bidding construída apenas para inventário web deixa 40-60% do investimento em publicidade programática na mesa. Mobile e in-app exigem investimento dedicado em infraestrutura.
Tem um projeto assim na mesa?
Traga sua arquitetura atual e o modo de falha que preocupa você, e vamos analisá-lo juntos em meia hora.