BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Celia Kung fala sobre o Brooklin, serviço de streaming de dados do LinkedIn

Celia Kung fala sobre o Brooklin, serviço de streaming de dados do LinkedIn

O aumento do volume de dados e a proliferação de sistemas de banco de dados nas organizações criam desafios no streaming de dados quase em tempo real para as aplicações. Celia Kung, da equipe de infraestrutura de dados do LinkedIn, falou na Conferência QCon New York 2019 sobre o Brooklin, um serviço gerenciado de streaming de dados que oferece suporte de conexão entre fontes e consumidores. Esses dois players podem ser armazenamentos de dados ou sistemas de mensagens, tornando a solução flexível e extensível. O Brooklin faz parte da plataforma de infraestrutura de streaming desenvolvida pelo LinkedIn.

O Brooklin é um serviço de ingestão de dados multi-tenant baseado em Java que pode ser usado para transmitir informação de várias fontes de transmissão para diferentes destinos. Ele pode transmitir dados de sistemas de mensagens (como Kafka ou Event Hubs), bancos de dados (Oracle, MySQL) ou outros datastores (por exemplo, NFS) e publicar em destinos como Kafka, Event Hubs, HDFS, etc. Os streams podem ser configurados individualmente e dinamicamente provisionados. O Brooklin não realiza consultas do tipo "select * from table" no banco de dados de origem para a replicação de dados, em vez disso, usa os logs, como binlog para o MySQL. Existe ainda um portal em que os desenvolvedores podem configurar os vários streamings de dados de acordo com a sua necessidade. O Apache ZooKeeper é usado para armazenar metadados e coordenar os nós.

A ideia por trás dessa estrutura é permitir que os desenvolvedores se concentrem na lógica de processamento de dados em suas aplicações, em vez de se preocuparem em como movê-los entre sistemas diferentes. Os desenvolvedores têm usado o framework Brooklin em produção nos últimos três anos para uma variedade de casos de uso, como captura de dados alterados (change data capture - CDC). O framework também pode ser usado como uma alternativa para substituição do Kafka MirrorMaker para replicar informação entre diferentes instâncias do Kafka.

Os principais casos de uso para usar essa estrutura são as aplicações nearline (atuam como camada intermediária para diminuição de latência) que exigem resposta quase em tempo real. Existem vários aplicações no Linkedin que se enquadram nessa categoria, como o Serviço de Notificações, o Serviço de Índices de Pesquisa.

Kung discutiu dois cenários diferentes de uso do Brooklin para streaming de dados. O primeiro cenário, alterar captura de dados, é sobre capturar atualizações em tempo real feitas por um membro no site do LinkedIn. Vários serviços, como o serviço de notificações, o serviço de índices de pesquisa e o serviço de feed de notícias, conectam-se ao mesmo database e recuperam o mesmo conjunto de informação para exibir as atualizações no site.

Kung falou sobre a ponte de streaming, que é basicamente um canal de para mover dados entre diferentes ambientes, como serviços em nuvem, clusters ou até mesmo data centers. Por exemplo, esse recurso pode ser usado para transferir dados de uma instância do Kinesis em execução no AWS para o Event Hubs hospedado na plataforma Azure, além de oferecer suporte a configuração de diferentes formatos de dados, como Avro ou JSON, sendo possível também impor políticas diferentes para criptografia ou ofuscação.

Os seguintes casos de uso de aplicativos foram discutidos pela Kung:

  • Cache,
  • Índices de pesquisa,
  • ETL ou Data warehouse,
  • Views materializadas ou Replicação,
  • Reparticionamento;
  • Para a necessidade de espelhamento de dados do Kafka entre diferentes instâncias, o Brooklin MirrorMaker substituiu completamente o Kafka MirrorMaker (KMM) no LinkedIn. Além disso, substituiu várias instâncias do KMM em cada data center por uma única instância do Brooklin em cada data center.
  • Kung mencionou que o framework LinkedIn Brooklin estará aberto em um futuro próximo, para que a comunidade de desenvolvedores possa começar a usá-lo nas organizações.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT