Além do Broadcasting: Táticas de Ponta do Apache APISIX para Transmissão ao Vivo Imersiva da Copa do Mundo

January 8, 2024

Case Study

Prévia

Sobre o Migu Video

O Migu Culture and Technology Group Co. (Migu), uma subsidiária da China Mobile, funciona como uma entidade profissional integrada responsável por fornecer, operar e prestar serviços para produtos de conteúdo digital. Ele abrange cinco subempresas: Migu Music, Migu Video, Migu Digital Media, Migu Fun e Migu Animation. O Migu emergiu como uma plataforma abrangente líder na China, que possui uma extensa coleção, incluindo mais de 35 milhões de músicas, 4,6 milhões de vídeos, 600.000 publicações, 1.100 jogos e 750.000 episódios de novo conteúdo digital.

Comprometido em inovar nas operações de "Internet + Conteúdo Digital", o Migu visa integrar diversos conteúdos com múltiplos canais e trazer uma transformação no estilo de vida de entretenimento dos usuários.

Desafios

  • Os serviços de vídeo lidam com um volume substancial de solicitações de usuários, exigindo um tratamento robusto de situações de alta concorrência.
  • Garantir a transmissão e exibição de dados em tempo real é crucial para cenários de transmissão ao vivo, demandando experiências de usuário instantâneas e sem interrupções.
  • Suportar diversos formatos de vídeo e protocolos de transmissão, enquanto aproveita a aceleração de CDN, é essencial para a entrega eficiente de conteúdo e a melhoria da experiência do usuário.

Resultados

  • O Apache APISIX suportou com sucesso o Migu Video em transmissões ao vivo de alta concorrência durante a Copa do Mundo Feminina da FIFA 2023, a Copa do Mundo de Basquete da FIBA 2023, os Jogos Asiáticos de Hangzhou 2022 e os Jogos Universitários de Verão de Chengdu 2021.
  • As capacidades de roteamento do Apache APISIX permitiram que o Migu Video melhorasse a experiência do usuário, aprimorando a entrega de conteúdo para acesso rápido dos usuários, promovendo transmissões sem interrupções e elevando a satisfação dos usuários.
  • Ao utilizar o Apache APISIX, o Migu Video testemunhou um aumento significativo na velocidade de processamento de solicitações e uma arquitetura de backend mais simplificada, reduzindo a complexidade operacional.

Contexto

O Migu Video enfrentou vários desafios em seus cenários de negócios, incluindo acesso concorrente elevado, requisitos de alta segurança e recuperação de falhas. Os cenários de transmissão ao vivo são exigentes em requisitos de transmissão e exigem suporte para múltiplos formatos e protocolos, além de aceleração de entrega de conteúdo por meio de Content Delivery Network (CDN). As características do negócio do Migu Video podem ser resumidas como:

  • Alto Tráfego e Alta Concorrência: Os serviços de vídeo geralmente enfrentam um grande número de solicitações de usuários e exigem o tratamento de situações de alta concorrência.
  • Alto Requisito de Tempo Real: Garantir a transmissão e exibição de dados em tempo real em cenários de transmissão ao vivo e similares é crucial.
  • Suporte a Múltiplos Formatos e Protocolos: Os serviços de vídeo podem envolver vários formatos de vídeo e protocolos de transmissão.
  • Aceleração de CDN: Para proporcionar uma melhor experiência ao usuário, os serviços de vídeo frequentemente utilizam CDN para aceleração da entrega de conteúdo.

Migu Video Usa APISIX

Por que o Migu Video Optou pelo Apache APISIX?

O Migu Video, durante seu processo de seleção de tecnologia, considerou cuidadosamente vários fatores que levaram à decisão de optar pelo Apache APISIX como sua solução de gateway de API. O Apache APISIX destacou-se como um gateway de API de código aberto, oferecendo uma gama de recursos essenciais, como alto desempenho, alta disponibilidade e escalabilidade. Essas qualidades foram fundamentais para atender aos requisitos do Migu Video por um gateway de API robusto e eficiente. Além disso, a equipe técnica do Migu Video valoriza particularmente o Apache APISIX por seu alto desempenho, capacidades de roteamento dinâmico, proteção de segurança e a flexibilidade de seu sistema de plugins.

1. Alto Desempenho e Roteamento Dinâmico

O Migu Video precisa lidar com um grande volume de tráfego de API enquanto mantém uma excelente experiência do usuário. O Apache APISIX, equipado com desempenho excepcional e capacidades de roteamento dinâmico, pode ser uma solução eficaz e precisa para o Migu Video, garantindo que as solicitações sejam distribuídas de forma ideal e processadas com latência mínima.

2. Estrutura de Segurança Resiliente

A proteção de segurança é primordial para o Migu Video, e o Apache APISIX oferece recursos robustos de segurança que se alinham com os requisitos do Migu Video. Com recursos como transformação de solicitação/resposta, controle de acesso e criptografia SSL/TLS, o Apache APISIX protege a infraestrutura de API do Migu Video contra possíveis ameaças e garante a integridade da transmissão de dados.

3. Mais de 100 Plugins de Código Aberto

O Migu Video valoriza a flexibilidade do sistema de plugins do Apache APISIX, com mais de 100 plugins de código aberto, cobrindo gerenciamento de tráfego, observabilidade, segurança, transformação de solicitação/resposta, computação serverless e muito mais. A escalabilidade do Apache APISIX permite que o Migu Video integre funcionalidades personalizadas de forma contínua e adapte o gateway de API às necessidades futuras.

4. Suporte a Múltiplos Protocolos

Uma vantagem significativa do Apache APISIX é seu suporte a múltiplos protocolos, incluindo HTTP, WebSocket e gRPC. A versatilidade dos protocolos suportados pelo Apache APISIX fornece funcionalidades essenciais como limitação de taxa, autenticação, autorização e registro, permitindo que o Migu Video lide com vários tipos de tráfego de API, atendendo às diversas necessidades de sua plataforma.

5. Nativo da Nuvem e Orientado a Microsserviços

A força do Apache APISIX em frameworks de microsserviços e ambientes nativos da nuvem é outro aspecto valioso que atraiu o Migu Video. À medida que as organizações adotam cada vez mais a arquitetura de microsserviços e aproveitam as tecnologias nativas da nuvem, a compatibilidade e a integração perfeita do Apache APISIX com esses ambientes fornecem uma base sólida para o crescimento e a escalabilidade futuros do Migu Video.

Implementação do Apache APISIX em Serviços de Vídeo de Grande Escala

A implementação do Apache APISIX no Migu Video pode ser dividida em várias partes: aproveitar o Apache APISIX para explorar sua capacidade de gerenciamento, fazer personalizações com base no Apache APISIX, usar plugins de monitoramento e alerta, e adaptar o Apache APISIX para outros sistemas operacionais, etc.

Aproveitando o Apache APISIX para Explorar a Capacidade de Gerenciamento

Considerando os casos de uso específicos do Apache APISIX nos cenários de negócios do Migu Video, ele se concentra no agendamento e gerenciamento de tráfego, roteamento dinâmico e proteção de segurança.

  • Agendamento e Gerenciamento de Tráfego: O Migu Video tem explorado o agendamento e gerenciamento de tráfego, visando gerenciar melhor o agendamento de tráfego e a limitação de taxa, evitando ou interceptando certas solicitações por meio de plugins do Apache APISIX.

  • Roteamento Dinâmico: O roteamento dinâmico foi uma das principais características que inicialmente atraíram o Migu Video para o Apache APISIX. O gateway centralizado anterior do Migu Video dependia principalmente de uma versão do OpenResty, o que apresentava riscos na modificação das configurações de roteamento à medida que as necessidades de negócios mudavam frequentemente. O roteamento dinâmico e a configuração em tempo real do Apache APISIX por meio do Dashboard permitem que o Migu Video publique alterações sem recarregar os serviços.

  • Proteção de Segurança: O Migu Video visa utilizar os recursos de proteção de segurança do Apache APISIX para proteger seus serviços de vídeo contra vários ataques de rede de forma eficaz. Por exemplo, ao configurar as regras de firewall do Apache APISIX, o Migu Video pode filtrar solicitações maliciosas e garantir a operação estável de seus negócios.

APISIX Lida com Cenários de Concorrência para o Migu Video

Personalização do Gateway com Base no Apache APISIX

Embora o Apache APISIX tenha atendido com sucesso todos os requisitos fundamentais do Migu, a natureza distinta do negócio do Migu Video exige algum desenvolvimento personalizado para alinhar-se melhor às suas necessidades específicas. Consequentemente, o Migu Video concluiu a personalização de 11 conjuntos de gateways, além de 4 conjuntos de ambientes aguardando liberação para os ambientes de produção.

Esses 11 conjuntos de gateways cobrem os principais gateways do negócio centralizado do Migu Video. Por exemplo, há um gateway público para login de usuários, um gateway de gerenciamento de usuários responsável pelas capacidades de autenticação de usuários, um gateway de vendas para compras de produtos pelos usuários e o gateway de Conteúdo Gerado por Usuários Profissionais (PUGC) necessário para o novo negócio de transmissão ao vivo adicionado em 2023. Além disso, o gateway para venda de ingressos de cinema também foi transformado.

O ambiente atual do gateway Apache APISIX no Migu Video geralmente segue uma arquitetura de duplo data center. Cada data center possui vários serviços Apache APISIX, um conjunto de clusters etcd com 3 nós tipicamente, e um serviço de dashboard para configuração de rotas frontend. Além disso, os plugins de verificação de assinatura e verificação de token desenvolvidos internamente são usados principalmente para validação de assinatura e token no gateway.

Melhorias no Monitoramento e Alertas

Além dos plugins desenvolvidos internamente e algumas soluções de monitoramento auxiliares, o Migu Video também utiliza os plugins integrados Prometheus e Grafana, permitindo coleta, armazenamento, análise, alertas e visualização eficientes de dados.

Prometheus e Grafana são plugins oficiais fornecidos pelo Apache APISIX, que são usados pelo Migu para monitorar métricas como taxas de erro, latência, TPS, saúde dos clusters etcd, status de memória compartilhada e taxa de envio de mensagens dentro do gateway Apache APISIX. Além disso, essas métricas são normalmente exibidas em gráficos visuais, proporcionando uma visão mais intuitiva e clara do desempenho do sistema.

Plugins Integrados do APISIX: Prometheus e Grafana

Adaptação do Apache APISIX para Outros Sistemas Operacionais

Para aumentar a competitividade do Migu, muitos outros sistemas operacionais coexistem dentro do Migu Video, durante os quais eles enfrentaram alguns desafios.

  • Diferenças de Ambiente: Devido a certas diferenças entre Windows, Unix, Linux e outros sistemas operacionais, tivemos que fazer ajustes para compatibilidade com diferentes bibliotecas de dependência.

  • Gerenciamento de Pacotes: Devido aos pacotes de dependência personalizados de vários sistemas operacionais, precisamos reconfigurar alguns pacotes de software básicos para garantir a compatibilidade.

  • Desempenho: Inicialmente, não tínhamos certeza sobre o desempenho do Apache APISIX em um novo sistema operacional. Portanto, realizamos várias fases de teste.

Após resolver os problemas relacionados aos pacotes de dependência em um ambiente de teste, o Migu Video realizou testes de estresse em um conjunto de gateways PUGC. A robustez do Apache APISIX foi comprovada pelos Quatro Campeonatos Internacionais em 2023, incluindo os Jogos Asiáticos de Hangzhou 2022, os Jogos Universitários de Verão de Chengdu 2021, a Copa do Mundo Feminina da FIFA 2023 e a Copa do Mundo de Basquete da FIBA 2023.

Os testes práticos do Apache APISIX no novo sistema operacional provaram que o Apache APISIX pode atender perfeitamente aos requisitos de negócios do Migu Video, lidando com muitas sessões de transmissão ao vivo simultâneas no novo sistema operacional.

Durante a implantação inicial do Apache APISIX, o Migu Video recebeu suporte técnico excepcional da API7.ai, a criadora do Apache APISIX.

A API7.ai forneceu assistência inestimável, realizando inspeções no ambiente de produção e examinando minuciosamente cada aspecto da implantação. A API7.ai também trabalhou em estreita colaboração com o Migu Video para resolver vários problemas prontamente. Isso incluiu ajustes em plugins e alocação de recursos, resolvendo possíveis problemas que poderiam ser encontrados no ambiente ao vivo.

Benefícios Após a Adoção do Apache APISIX

Após usar o Apache APISIX, o Migu Video experimentou uma série de melhorias notáveis em suas operações de negócios.

  • Eficiência Aprimorada no Processamento de Solicitações: O Apache APISIX utiliza um design assíncrono não bloqueante de alto desempenho, permitindo lidar com um grande número de solicitações simultâneas. Ao aproveitar o Apache APISIX, o Migu Video testemunhou um aumento significativo na velocidade de processamento de solicitações, permitindo a entrega rápida e eficiente de conteúdo de vídeo aos seus usuários.

  • Desempenho Melhorado e Latência Reduzida: As estratégias de roteamento inteligente e distribuição de nós baseada em proximidade do Apache APISIX desempenharam um papel fundamental na redução da latência de rede para negócios relacionados a vídeos, mantendo alto desempenho em situações de alta concorrência. O Migu Video testemunhou em primeira mão como as capacidades de roteamento do Apache APISIX contribuíram para uma entrega de conteúdo mais rápida, permitindo que os usuários acessem o conteúdo de vídeo prontamente e desfrutem de uma experiência de streaming sem interrupções.

  • Escalabilidade e Estabilidade Aumentadas: O Apache APISIX possui forte escalabilidade, alta disponibilidade e mecanismos de tolerância a falhas, escalando horizontalmente, reduzindo o impacto de falhas nos serviços de backend e melhorando a estabilidade geral dos negócios do Migu Video. A escalabilidade e estabilidade aprimoradas fornecidas pelo Apache APISIX solidificaram as operações do Migu Video, permitindo que ele ofereça uma experiência de streaming de vídeo confiável e consistente aos seus clientes.

  • Arquitetura e Operações Simplificadas: O Apache APISIX fornece funcionalidades e plugins ricos, resultando em uma arquitetura de backend mais simplificada, reduzindo a complexidade operacional. Isso, por sua vez, melhora a eficiência de desenvolvimento e operações.

A implementação do Apache APISIX trouxe inúmeros benefícios tangíveis para o Migu Video. O impacto e as lições aprendidas com essa implementação vão além do Migu Video, oferecendo insights valiosos e orientação para outros players da indústria.

Olhando para o Futuro

O Migu Video adota a conteinerização como uma estratégia de longo prazo, migrando gradualmente de VM para Kubernetes. Após considerar as características do negócio e o uso atual do gateway de API, o Migu Video considera o APISIX Ingress Controller como a melhor escolha.

Em resumo, o APISIX desempenha um papel crucial nos negócios relacionados a vídeos de grande escala do Migu. Sua implementação prática não apenas aprimora o desempenho dos negócios e simplifica a arquitetura de backend, mas também fornece suporte sólido para o rápido desenvolvimento do negócio. No futuro, o Migu espera a evolução contínua do Apache APISIX, trazendo mais valor e inovação para negócios relacionados a vídeos de grande escala e outros domínios.

Tags: