Arquitetura real · Sênior
Globo.com: vídeo ao vivo para Copa e BBB
É o pico previsível e enorme brasileiro. Variante real de case_live_streaming.
Resposta curta
É o pico previsível e enorme brasileiro. Variante real de case_live_streaming. A Globo.com opera uma plataforma de vídeo ao vivo que, segundo a dissertação usada neste caso, já foi empregada em Rock in Rio e em várias edições do Big Brother Brasil.
01 · CONTEXTO
Um pico que todo mundo sabe que vai chegar
A Globo.com opera uma plataforma de vídeo ao vivo que, segundo a dissertação usada neste caso, já foi empregada em Rock in Rio e em várias edições do Big Brother Brasil. O resumo de uma palestra da própria equipe cita ainda a distribuição de vídeo ao vivo na Copa do Mundo, no BBB e em outros programas do grupo.
Em eventos assim, a audiência chega toda ao mesmo tempo, para o mesmo conteúdo. Isso muda o problema em relação a um catálogo sob demanda, e é o que torna o caso útil para estudar entrega de conteúdo em borda e escala horizontal.
Os dados mais concretos disponíveis publicamente vêm de uma dissertação da UFJF que analisou logs dos servidores da Globo.com na transmissão de todos os jogos da Copa das Confederações de 2013 e da Copa do Mundo de 2014. As palestras do InfoQ têm só o resumo público.
02 · ARQUITETURA
Dois PoPs, DNS na frente e Nginx por dentro
Segundo a dissertação, a arquitetura de vídeo ao vivo monitorada utiliza Anycast e DASH. A infraestrutura tem pontos de presença em duas cidades, Rio de Janeiro e São Paulo, e é o servidor DNS que decide para qual PoP encaminhar cada cliente. Dentro de cada PoP, as requisições são balanceadas entre os servidores, que executam Nginx.
No desenho ilustrativo, um codificador e segmentador aparece ligado aos servidores de cada ponto de presença.
No desenho, o player aparece ligado ao DNS, que, segundo a dissertação, decide para qual PoP encaminhar cada cliente, em um sistema que usa Anycast.
Os pontos de presença ficam em duas cidades, Rio de Janeiro e São Paulo.
Em cada PoP, as requisições são balanceadas entre os servidores, que executam Nginx.
Como o DASH divide a mídia em segmentos de várias qualidades, o cliente seleciona sozinho, durante a reprodução, entre as alternativas disponíveis.
Como vantagens do anycast, a dissertação lista a menor latência pela proximidade entre cliente e servidor e a resiliência de rede. Para o balanceamento dentro dos PoPs, veja balanceamento de carga.
03 · O PICO
O que os logs mostram sobre a carga
A dissertação conclui que eventos esportivos podem atrair centenas de milhares de espectadores simultâneos. Na Copa das Confederações de 2013, os servidores atenderam até aproximadamente 180 mil requisições simultâneas, e nos cinco jogos de maior volume de dados a taxa de transferência se aproximou de 15 GB/s.
| O que a dissertação registra | |
|---|---|
| Copa das Confederações 2013: carga de pico | Até aproximadamente 180 mil requisições simultâneas |
| Copa das Confederações 2013: cinco jogos de maior volume | Taxa de transferência próxima de 15 GB/s |
| Copa do Mundo 2014: cinco jogos de maior pico | Iniciaram às 13:00 ou 16:00 |
| Copa do Mundo 2014: horários de maior pico | Sem jogos da seleção brasileira transmitidos nesses horários |
| Copa do Mundo 2014: calendário | Muitos jogos aconteceram simultaneamente |
A audiência não some no intervalo: a dissertação registra que a quantidade de usuários conectados se mantém alta mesmo nesses períodos, em que é feita a transmissão de melhores momentos.
04 · QUALIDADE ADAPTATIVA
Reduzir qualidade para atender mais gente
O jogo de maior volume de dados da Copa das Confederações não foi o de maior número de clientes, que foi Brasil x Uruguai. Segundo a dissertação, as opções de qualidade foram reduzidas para o provedor atender a uma demanda de clientes que não era prevista.
No desenho ilustrativo, o player pede conteúdo a um servidor de streaming.
O servidor lê playlists e segmentos de um armazenamento, que no desenho guarda várias qualidades.
Segundo a dissertação, se não há banda disponível o servidor deve reduzir a qualidade da mídia e, com isso, o tamanho do bloco de vídeo.
No jogo de maior público, a melhor resolução tinha blocos menores que 500 KB; no de maior volume de dados, os segmentos chegaram a 1400 KB.
05 · BALANCEAMENTO
Dois PoPs, carga desigual
Na Copa das Confederações, os servidores de São Paulo tiveram carga extra em relação aos do Rio, com a diferença variando entre 70% e 120% e ocorrendo em todas as partidas. Segundo o planejamento informado pela Globo.com, a banda disponível nos dois pontos de distribuição é praticamente a mesma.
No desenho, os dois PoPs aparecem lado a lado, cada um com seu balanceador e seus servidores.
A dissertação registra que o PoP de São Paulo teve carga extra em todas as partidas, entre 70% e 120%.
Pelo planejamento informado, a banda é praticamente a mesma nos dois pontos.
06 · STACK E LIMITES
Nginx, Redis e o que não se sabe
O resumo de uma palestra descreve a plataforma como feita em mais de sete linguagens e em um stack quase inteiramente de código aberto, incluindo Nginx, Redis e Cassandra.
Segundo o resumo de um estudo de caso da NGINX, a pilha anterior baseada em RTMP limitava suporte móvel, cache e balanceamento de carga, e a Globo.com migrou para uma entrega baseada em HTTP em torno do NGINX.
Perguntas frequentes
O que é Globo.com: vídeo ao vivo para Copa e BBB?
É o pico previsível e enorme brasileiro. Variante real de case_live_streaming.
O que o design de Globo.com: vídeo ao vivo para Copa e BBB cobre?
Ele está organizado nestas seções: Um pico que todo mundo sabe que vai chegar, Dois PoPs, DNS na frente e Nginx por dentro, O que os logs mostram sobre a carga, Reduzir qualidade para atender mais gente, Dois PoPs, carga desigual e Nginx, Redis e o que não se sabe.
Quanto tempo leva Globo.com: vídeo ao vivo para Copa e BBB e qual é o nível?
Leva cerca de 17 minutos para ler e tem nível Sênior.
Agora projete você mesmo
Rode este caso como uma entrevista na escola de System Design: você toma as decisões, o tutor as questiona e você vê a nota do seu desenho.