Referência de construção de plataforma de big data de nível empresarial Taobao Didi Meituan 360 Kuaishou Jingdong

A plataforma de big data é uma plataforma para computar, armazenar, computar e exibir a quantidade cada vez maior de dados gerados na sociedade atual. A tecnologia de big data refere-se à capacidade de obter rapidamente informações valiosas de vários tipos de dados. Tecnologias aplicáveis ​​a big data, incluindo bancos de dados de processamento paralelo massivo ( MPP ), grades de mineração de dados, sistemas de arquivos distribuídos, bancos de dados distribuídos, plataformas de computação em nuvem, Internet e sistemas de armazenamento escaláveis. Em conclusão, o surgimento da plataforma de big data é gradualmente formado junto com o desenvolvimento contínuo dos negócios, o crescimento contínuo dos dados, o aumento contínuo da demanda de dados e o cenário de análise e mineração de dados. Este artigo descreve o histórico de desenvolvimento de plataformas de big data de grandes empresas de Internet, como Taobao & Didi & Meituan & 360 & Kuaishou, e fornece as ideias básicas para a construção de plataformas de big data.

Plataforma de Big Data Taobao

 A Taobao pode ser uma das primeiras empresas da indústria de Internet da China que construiu sua própria plataforma de big data .

A plataforma de big data do Taobao é basicamente dividida em três partes, a parte superior é a fonte de dados e a sincronização de dados; a parte do meio é a escada  1 , que é o cluster de big data do  Hadoop do Taobao ; a parte inferior é a aplicação de big data, usando o resultados de cálculo do cluster de big data. As fontes de dados vêm principalmente dos bancos de dados de backup  Oracle e  MySQL , bem como do sistema de log e do sistema de crawler. Esses dados são importados para o cluster  Hadoop por meio do servidor de gateway de sincronização de dados. Entre eles  , DataExchange não sincroniza dados completos do banco de dados em tempo real, DBSync sincroniza dados incrementais do banco de dados em tempo real e TimeTunnel sincroniza logs e dados do crawler em tempo real. Todos os dados são gravados no  HDFS .

As tarefas de computação no Hadoop serão enviadas e executadas de acordo com os recursos do cluster e a prioridade do trabalho por meio do sistema de agendamento Skynet. Os resultados do cálculo são gravados no HDFS e, em seguida, sincronizados com os bancos de dados MySQL e Oracle por meio do DataExchange . O cubo de dados de Rubik e o sistema de recomendação sob a plataforma podem ler dados do banco de dados e responder às solicitações de operação do usuário em tempo real.

O núcleo da plataforma de big data Taobao é o sistema de agendamento Skynet localizado no lado esquerdo do diagrama de arquitetura. As tarefas submetidas ao cluster Hadoop precisam ser agendadas e executadas em sequência e prioridade. As tarefas definidas no cluster Hadoop também precisam A importação de dados de bancos de dados, logs e sistemas rastreadores também precisa ser agendada para execução e, quando os resultados da execução do Hadoop são exportados para o banco de dados do sistema aplicativo, também precisam ser agendados para execução. Pode-se dizer que toda a plataforma de big data opera sob o planejamento e arranjo unificados do sistema de despacho Skynet.

Componentes de sincronização de dados como DBSync , TimeTunnel e DataExchange também são desenvolvidos internamente pelo Taobao, que pode importar e exportar dados para diferentes fontes de dados e requisitos de sincronização. A maioria desses componentes Taobao tem código aberto, podemos nos referir ao uso.

O caminho da evolução da plataforma de dados Didi

Até agora, passou por três estágios. O primeiro estágio é que o lado comercial constrói um pequeno cluster; o segundo estágio é um grande cluster centralizado e a plataforma; o terceiro estágio é a  SQLização .

A arquitetura da plataforma de computação offline é a seguinte. A plataforma off-line de big data da Didi é construída com base no Hadoo 2 ( HDFS , Yarn , MapReduce ), Spark e Hive , e desenvolveu seu próprio sistema de agendamento e sistema de desenvolvimento com base nisso. O sistema de agendamento, como outros sistemas anteriores, agenda a prioridade e a ordem de execução dos trabalhos de big data. A plataforma de desenvolvimento é um editor SQL visual , que pode facilmente consultar a estrutura da tabela, desenvolver SQL e publicá-lo no cluster de big data.

Além disso, a Didi também usa fortemente o HBase e fez alguns desenvolvimentos personalizados em produtos relacionados ( HBase , Phoenix ) e mantém uma plataforma HBase no mesmo nível das plataformas de big data em tempo real e offline. Seu diagrama de arquitetura é o seguinte .

Os resultados do cálculo da plataforma de computação em tempo real e da plataforma de computação offline são salvos no HBase e, em seguida, o programa aplicativo acessa o HBase por meio do Phoenix . O Phoenix é um mecanismo SQL construído no HBase, que pode acessar dados no HBase por meio do SQL .

Para maximizar a conveniência do lado comercial no desenvolvimento e gerenciamento de tarefas de computação de fluxo, a Didi construiu uma plataforma de computação em tempo real, conforme mostrado na figura abaixo. Com base no mecanismo de computação de fluxo, ele fornece recursos como  StreamSQL IDE , monitoramento e alarme, sistema de diagnóstico, relacionamento sanguíneo e gerenciamento e controle de tarefas.

Plataforma de Dados Meituan

Vamos apresentar a arquitetura de toda a plataforma de dados Meituan a partir da perspectiva da arquitetura de fluxo de dados. A fonte de dados da plataforma de big data vem do banco de dados MySQL e dos logs. O banco de dados obtém o binlog do MySQL por meio do Canal e o envia para a fila de mensagens Kafka . O log também é enviado para Kafka através do Flume . , enquanto também reflui para o ODPS .

Os dados do Kafka serão consumidos pelos mecanismos de computação de fluxo e computação em lote, respectivamente. O processamento de fluxo usa Storm para realizar cálculos e os resultados são enviados para HBase ou bancos de dados. O cálculo do lote usa o Hive para análise e cálculo, e os resultados são enviados para o sistema de consulta e plataforma de BI (business intelligence).

Os analistas de dados podem realizar consultas e acessos interativos de dados por meio da plataforma de produtos de BI e também podem visualizar indicadores de análise comuns processados ​​por meio de ferramentas de relatórios visuais. Os executivos da empresa também visualizam os principais indicadores e relatórios de negócios da empresa por meio do sistema Tianji nesta plataforma.

Esta imagem é o diagrama de arquitetura de implantação da plataforma de dados off-line.Na parte inferior estão três serviços básicos, incluindo Yarn , HDFS e HiveMeta . Cenários de computação diferentes fornecem suporte de mecanismo de computação diferente. Se for uma empresa recém-criada, existem algumas opções arquitetônicas aqui. Cloud Table é um selo de pacote HBase feito por você . Usamos o Hive para construir um data warehouse, usamos o Spark para mineração de dados e aprendizado de máquina, o Presto oferece suporte a consultas Adhoc e também pode escrever alguns SQL . Correspondência Aqui, o Presto não é implantado no Yarn , mas é sincronizado com o Yarn , e o Spark é executado  no Yarn . No momento, o Hive ainda depende do Mapreduce , e está tentando testar e implantar o Hive no tez .

Além disso, aprendemos que na construção do data warehouse em tempo real, o Meituan migrou do Storm original para o Flink . A API do Flink , o mecanismo de tolerância a falhas e o mecanismo de persistência de estado podem resolver alguns dos problemas encontrados no uso do Storm . O Flink não apenas suporta um grande número de instruções SQL comumente usadas , mas também cobre basicamente cenários de desenvolvimento comuns. Além disso, a tabela do Flink pode ser gerenciada por meio do TableSchema , suportando tipos de dados ricos, estruturas de dados e fontes de dados. Ele pode ser facilmente integrado ao sistema de gerenciamento de metadados existente ou ao sistema de gerenciamento de configuração.

Toda a gestão de processos da plataforma de big data da Meituan é feita através da plataforma de agendamento. Os desenvolvedores internos da empresa usam a plataforma de desenvolvimento de dados para acessar a plataforma de big data, realizar desenvolvimento ETL (extração, transformação, carregamento de dados), enviar tarefas e realizar gerenciamento de dados.

A estrada da evolução da plataforma de dados 360

Qirin é uma plataforma de big data completa desenvolvida pelo Departamento de Sistema 360, que cobre completamente todo o processo de desenvolvimento e processamento de big data de aquisição, armazenamento, gerenciamento, cálculo e uso de big data, e atualmente atende a todo o grupo de mais de 30  departamentos , Mais de 1.000 usuários,  mais de 25.000 servidores e a quantidade de dados armazenados é nível  EB . Ele pode ajudar os departamentos de negócios a criar rapidamente suas próprias plataformas de dados e produtos de dados.

Funcionalmente, o Qilin é composto principalmente pelos seguintes módulos (de baixo para cima):

( 1 )  Gerenciamento de recursos: usado para a aplicação e gerenciamento de vários recursos de serviço de big data, bem como a aplicação e gerenciamento de direitos de acesso, incluindo recursos de armazenamento, recursos de computação, etc.;

( 2 )  Gerenciamento de metadados: Com base no gerenciamento de recursos, fornece uma visão unificada para outros módulos e percorre toda a plataforma de processamento de big data (processo). Por um lado, o gerenciamento de metadados oferece suporte aos recursos da plataforma do sistema Qilin e, ao mesmo tempo, também oferece suporte aos usuários para importar recursos externos próprios para hospedar aplicativos;

( 3 )  Coleta de dados: usada para coletar dados externos em armazenamento de big data, incluindo coleta de dados em tempo real e offline;

( 4 )  Desenvolvimento de tarefas: uma plataforma de tarefas integradas de fluxo em lote para desenvolver, agendar e monitorar tarefas de processamento de dados em tempo real e offline;

( 5 )  Análise interativa: Utiliza-se  o SQL para consulta e exploração rápida de dados, bem como análise visual simples e exibição de resultados;

( 6 )  Serviço de dados: com base nos recursos dos subsistemas acima, fornece serviços  SaaS que atendem a determinados cenários, como arquivamento e backup de dados, transmissão de dados entre clusters e compartilhamento externo de dados;

( 7 )  Authority Center: usado para gerenciar permissões de contas de recursos e permissões de grupos de desenvolvimento;

( 8 )  Gerenciamento do sistema: fornece gerenciamento de algumas funções básicas do sistema

Orientada para os negócios, a Qilin acredita que, ao fornecer uma plataforma de processamento de Big Data fácil de usar, reduz o limite de uso, simplifica o trabalho da plataforma de Big Data e ajuda os negócios a liberar o valor dos dados e capacitar o negócio.

Por meio do design modular, o Qilin permite montagem e operação flexíveis de cada módulo e pode formar rapidamente diferentes soluções e produtos de big data para diferentes cenários de negócios internos e externos.

Plataforma de serviço de big data Kuaishou

A arquitetura de negócios orientada a serviços de big data é mostrada abaixo: Data Lake armazena dados brutos e, após o desenvolvimento dos dados, forma ativos de dados organizados por domínios de assunto. Neste momento, os ativos de dados geralmente estão no data warehouse e a velocidade de acesso é relativamente lenta. Portanto, é necessário acelerar os dados para um meio de armazenamento de maior velocidade e, finalmente, atender aos negócios por meio do serviço multicenário interface.

Em termos de arquitetura técnica, os formulários de interface de dados incluem interfaces  RPC e  HTTP . A interface RPC não precisa estabelecer links repetidamente e será serializada com eficiência ao transmitir dados. É adequada para microsserviços em cenários de alto rendimento e realiza funções como balanceamento de carga, controle de fluxo, degradação e rastreamento de cadeia de chamadas. Relativamente falando, a eficiência de transmissão da interface HTTP é menor, mas é muito simples de usar.

Desde sua evolução em 2017 , a plataforma de serviço de big data Kuaishou tem suportado uma variedade de cenários de aplicação, abrangendo negócios online como transmissão ao vivo, vídeo curto, comércio eletrônico e comercialização, negócios quase online, como produtor intermediário e sistemas de dados internos parciais, como sistemas operacionais, etc. Atualmente, o  QPS total de negócios on-line na plataforma atinge  1000 W e o atraso médio está no nível de milissegundos; para negócios quase on-line e sistema de dados interno, baseado em CH , Druid e outros mecanismos de dados, ele oferece suporte a uma variedade de consultas flexíveis. A plataforma de serviço de dados oferece suporte a uma variedade de APIs de modo , que atendem bem às diversas necessidades.

Garantia de Alta Disponibilidade da Plataforma de Serviço de Big Data Kuaishou:

serviço elástico

O serviço de dados é implantado no ambiente de nuvem de contêiner. A nuvem de contêiner é um serviço de contêiner elástico e escalável desenvolvido pela Kuaishou. O serviço RPC implantado nele será registrado no  KESS (centro de descoberta e registro de serviço autodesenvolvido da Kaishou) para o chamador para chamar , se houver pixels mortos atípicos, eles serão removidos automaticamente. A chamada de serviço é baseada em  RPC , e todo o link é monitorado, incluindo disponibilidade de serviço, atraso, QPS , CPU do container , memória do container, etc.

isolamento de recursos

O isolamento de recursos é um dos meios comuns de garantia de disponibilidade, por meio do isolamento para reduzir o impacto de falhas inesperadas e outras situações. Independentemente de serem microsserviços ou armazenamento, nós os isolamos e implantamos de acordo com a granularidade do negócio  + prioridade (alta, média e baixa), garantindo de forma independente que os negócios não afetam uns aos outros e os diferentes níveis dentro do negócio não afetam uns aos outros. Pode haver vários serviços de dados diferentes na mesma linha de negócios e a utilização de recursos pode ser melhorada por meio de implantação mista.

Monitoramento completo de links

É difícil evitar problemas ou falhas nos serviços.Uma vez que um problema ocorre, a detecção precoce e a intervenção precoce são muito importantes. A plataforma de serviços construiu um monitoramento completo de links, incluindo:

  • Sincronização de dados: monitore o processo de sincronização de ativos de dados para armazenamento de alta velocidade, incluindo detecção de qualidade de dados (filtragem de dados sujos), tempo limite de sincronização ou detecção de falhas, etc.
  • Estabilidade do serviço: construir um serviço sentinela independente para monitorar os indicadores de operação (como atraso, disponibilidade etc.) de cada API e avaliar objetivamente a saúde
  • Correção comercial: os serviços de dados precisam garantir que o conteúdo dos dados acessados ​​pelos usuários seja consistente com o conteúdo da tabela de ativos de dados, portanto, o serviço sentinela investigará a partir do nível de consistência dos dados para garantir a consistência dos dados de cada API

A capacitação da plataforma de serviço de big data Kuaishou avançará para um sistema  OneService unificado. Inclui principalmente três aspectos:

  • Oferece suporte a fontes de dados ricas: incluindo tabelas grandes e largas, arquivos de texto e modelos de aprendizado de máquina (os modelos também são um tipo de ativo de dados) para criar serviços de dados abrangentes.
  • Suporta vários métodos de acesso: Além de suportar acesso rápido síncrono, ele também suporta acesso a consultas assíncronas, resultados push, tarefas agendadas e outros métodos diversificados para atender às necessidades de vários cenários de negócios.
  • Crie um gateway de API unificado : Integre o controle de autoridade, o limite atual e o downgrade e o gerenciamento de tráfego em um. Não apenas os serviços criados pela plataforma podem ser registrados no gateway de API , mas também as APIs desenvolvidas pelos usuários podem ser registradas na API gateway, de modo a aproveitar os recursos básicos de gateway existentes, para fornecer recursos de serviço de dados para empresas.

Plataforma global de big data de nível  EB da JD.com

Toda a plataforma da JD.com passou por um longo processo de construção e desenvolvimento. Este processo inclui cinco etapas:

estágio de escala

Concluiu principalmente a separação e atualização de computação e armazenamento da pilha de tecnologia, contando com a melhoria da tecnologia de rede do data center, enfraqueceu a dependência da localidade de computação, pontos de acesso de armazenamento dispersos e estabilidade de computação aprimorada; ao mesmo tempo, armazenamento e computação personalizados modelos de otimização, planejamento de capacidade realizado de forma independente, reduzindo significativamente os custos de recursos de TI . Em termos de armazenamento, foi realizado um cluster HDFS estável com uma escala de 10.000 unidades, e a tecnologia de codificação de eliminação foi totalmente implementada para obter armazenamento de big data de alta eficiência e alta taxa de compactação; e otimização de camada cruzada foi realizados na computação, desde a camada de agendamento, a camada de mecanismo e a camada de aplicativo passaram por melhorias profundas; finalmente, os recursos de armazenamento e computação da plataforma estão continuamente em um estado saudável por meio do gerenciamento completo do ciclo de vida.

Estágio sistemático

Partindo das características e necessidades de diferentes negócios, como negócios financeiros, negócios de logística, negócios de comércio eletrônico, negócios de seguros e negócios de saúde, construa gradualmente dados padronizados, gerenciáveis, sustentáveis, compreensíveis, reproduzíveis, únicos e sistemáticos. problemas mencionados acima, como negócios complexos, dados heterogêneos, desenvolvimento de chaminés e altos custos de construção.

Por meio da padronização, inventário e governança de todo o link no nível de dados, bem como o suporte à padronização de negócios no nível da ferramenta de plataforma, foi criado um data center sistemático para todo o Grupo JD.

Em suma, a sistematização é um dos principais objetivos do data center, abrangendo todo o ciclo de vida dos dados desde a produção, computação, armazenamento e consumo, e fornecendo uma base sólida para o uso eficiente do valor dos dados.

Com base na experiência de construção sistemática, também acumulamos e aprimoramos vários recursos de dados e refinamos uma série de soluções de produtos. A metodologia e a experiência prática dessa construção sistemática nos permitem inserir dados no mecanismo de tomada de decisão de maneira muito eficiente no estágio de layout de negócios rápido e desenvolvimento rápido para formar decisões de negócios rápidas.

palco em tempo real

Por um lado, o JD.com realizou uma personalização e otimização aprofundadas em termos de agendamento de tarefas, distribuição de dados e recuperação de estado, o que melhorou muito a robustez do sistema e também passou pelo teste de muitas grandes promoções picos; por outro lado, implementou o agendamento de recursos nativos da nuvem baseado em contêiner Elastic cria uma estrutura de autocorreção totalmente autodesenvolvida para realizar recursos de recuperação de falhas automática e adaptável, que podem efetivamente garantir a estabilidade do sistema e da plataforma.

Em segundo lugar, a plataforma Easy Realtime é uma plataforma de aplicativos de nível empresarial que integra o desenvolvimento de código em nuvem completo e se conecta diretamente à plataforma de computação em tempo real nativa da nuvem.

O objetivo da plataforma é permitir que colegas de negócios da linha de frente sem nenhuma capacidade de desenvolvimento de código, como colegas de compras e vendas da JD.com, ou mesmo agentes  ISV , tenham recursos  de SQL , comecem rapidamente e tomem decisões de negócios de forma independente desenvolvimento após um curto período de treinamento.

estágio inteligente

Existem vários mecanismos de algoritmos principais na plataforma, incluindo  o mecanismo de aprendizado federado 9N-FL . A base que suporta esses mecanismos é o sistema de gerenciamento de recursos baseado em nuvem para todo o campo de algoritmo, que se integra perfeitamente ao sistema de gerenciamento orientado a dados para formar uma solução de algoritmo de dados única, que em última análise capacita os negócios de varejo e saúde da JD.com , e serviços financeiros. Negócios, etc. , para promover o rápido desenvolvimento dos negócios.

fase de comercialização

Com base no desenvolvimento dos quatro estágios acima, a JD.com finalmente criou uma plataforma global de big data que se baseia na experiência real de suporte de negócios e pode suportar simultaneamente aplicativos de vários campos ( varejo, logística, finanças, saúde, etc. ) . Os sistemas, ferramentas, produtos e metodologias que ele contém têm certas semelhanças com os principais data centers do setor.

Acho que você gosta

Origin blog.csdn.net/jane9872/article/details/131316005
Recomendado
Clasificación