Apresentando o Atlas Stream Processing - simplificando o caminho para aplicativos reativos, responsivos e orientados a eventos

Kenny Gorman and Clark Gates-George

Hoje, temos o prazer de anunciar a prévia privada do Atlas Stream Processing!

O mundo está cada vez mais acelerado e seus aplicativos precisam acompanhar. Aplicativos responsivos e orientados a eventos dão vida às experiências digitais para seus clientes e aceleram o tempo de obtenção de insights e ações para os negócios. Pensar:

  • notificar seus usuários assim que o status de entrega mudar

  • bloquear transações fraudulentas durante o processamento de pagamentos

  • analisando a telemetria do sensor à medida que ela é gerada para detectar e remediar possíveis falhas de equipamentos antes de interrupções dispendiosas.

Em cada um desses exemplos, os dados perdem seu valor com o passar dos segundos. Ele precisa ser consultado e acionado continuamente e com baixa latência. Para fazer isso, os desenvolvedores estão recorrendo cada vez mais a aplicativos orientados a eventos, alimentados por streaming de dados, para que possam React e responder instantaneamente ao mundo em constante mudança ao seu redor. O Atlas Stream Processing ajudará os desenvolvedores a migrar mais rapidamente para aplicativos orientados a eventos.

Ao longo dos anos, os desenvolvedores adotaram o banco de dados MongoDB porque adoram a flexibilidade e facilidade de uso do modelo de documento, juntamente com a MongoDB Query API, que lhes permite trabalhar com dados como código. Esses princípios fundamentais eliminam drasticamente o atrito no desenvolvimento de software e aplicativos. Agora, estamos trazendo esses mesmos princípios para o streaming de dados. O Atlas Stream Processing está redefinindo a experiência do desenvolvedor para trabalhar com fluxos complexos de alta velocidade, dados que mudam rapidamente e unificando a forma como os desenvolvedores trabalham com dados em movimento e em repouso.

Embora os produtos e tecnologias existentes tenham oferecido muitas inovações para streaming e processamento de stream, acreditamos que o MongoDB é naturalmente adequado para ajudar os desenvolvedores com alguns desafios importantes restantes. Esses desafios incluem a dificuldade de trabalhar com dados variáveis, de alto volume e alta velocidade; a sobrecarga contextual do aprendizado de novas ferramentas, linguagens e APIs; e a manutenção operacional adicional e a fragmentação que podem ser introduzidas por meio de tecnologias pontuais em pilhas de aplicativos complexos.

Apresentando o Processamento Atlas Stream

O Atlas Stream Processing permite o processamento de fluxos de alta velocidade de dados complexos com algumas vantagens exclusivas para a experiência do desenvolvedor:

  • Ele é baseado no modelo de documento, permitindo flexibilidade ao lidar com estruturas de dados complexas e aninhadas, comuns em fluxos de eventos. Isso alivia a necessidade de etapas de pré-processamento e permite que os desenvolvedores trabalhem de maneira natural e fácil com dados que possuem estruturas complexas. Assim como o banco de dados permite.

  • Ele unifica a experiência de trabalhar com todos os dados, oferecendo uma plataforma única – entre API, linguagem de consulta e ferramentas – para processar dados de streaming ricos e complexos junto com os dados críticos de aplicativos em seu banco de dados.

  • E é totalmente managed no MongoDB Atlas, com base em um conjunto já robusto de serviços integrados. Com apenas algumas chamadas de API e linhas de código, você pode criar um processador de fluxo, um banco de dados e uma camada de serviço de API em qualquer um dos principais provedores cloud.

Como funciona o processamento do Atlas Stream?

O Atlas Stream Processing se conecta aos seus dados críticos, sejam eles armazenados no MongoDB (por meio de change stream) ou em uma plataforma de streaming de eventos como o Apache Kafka. Os desenvolvedores podem conectar-se de maneira fácil e contínua à cloud Confluent, Amazon MSK, Redpanda, Azure Event Hubs ou Kafkamanaged usando o protocolo Kafka wire. E ao integrar-se ao driver Kafka nativo, o Atlas Stream Processing oferece desempenho nativo de baixa latência em sua base.

Além de nossa parceria estratégica de longa data com a Confluent, também temos o prazer de anunciar parcerias com AWS, Microsoft, Redpanda e Google, no lançamento.

O Atlas Stream Processing fornece três recursos principais necessários para transformar seu conjunto de dados de streaming em experiências diferenciadas para o cliente. Vamos examinar isso um por um.

Processamento Contínuo

Primeiro, os desenvolvedores agora podem usar a estrutura de agregação do MongoDB para processar continuamente fluxos de dados ricos e complexos de plataformas de streaming de eventos, como o Apache Kafka. Isso abre novas maneiras poderosas de consultar, analisar e React continuamente ao streaming de dados sem nenhum dos atrasos inerentes ao processamento em lote. Com a estrutura de agregação, você pode filtrar e agrupar dados, agregando fluxos de eventos de alta velocidade em insights acionáveis em tempo de estado Windows, proporcionando experiências de aplicativos mais ricas e em tempo real.

Validação Contínua

Em seguida, o Atlas Stream Processing oferece aos desenvolvedores mecanismos robustos e nativos para lidar com problemas de dados incorretos que, de outra forma, poderiam causar estragos nos aplicativos. Os possíveis problemas incluem a transmissão de resultados imprecisos ao aplicativo, perda de dados e tempo de inatividade do aplicativo. O Atlas Stream Processing resolve esses problemas para garantir que os dados de streaming possam ser processados e compartilhados de forma confiável entre aplicativos orientados a eventos.

Processamento de fluxo Atlas:

  • Fornece validação contínua de esquema para verificar se os eventos estão formados corretamente antes do processamento – por exemplo, rejeitando eventos com campos ausentes ou contendo intervalos de valores inválidos

  • Detecta corrupção de mensagens

  • Detecta dados que chegam atrasados e que perderam uma janela de processamento.

Os pipelines do Atlas Stream Processing podem ser configurados com uma Dead Letter Queue (DLQ) integrada na qual os eventos que falham na validação são roteados. Isso evita que os desenvolvedores tenham que construir e manter suas próprias implementações personalizadas. Os problemas podem ser depurados rapidamente, enquanto o risco de dados perdidos ou corrompidos, derrubando todo o aplicativo, é minimizado.

Mesclagem Contínua

Seus dados processados podem então ser continuamente materializados em visualizações mantidas na collection de banco de dados Atlas. Podemos pensar nisso como uma consulta push. Os aplicativos podem recuperar resultados (por meio de consultas pull) da visualização usando a API de consulta do MongoDB ou a interface Atlas SQL. A mesclagem contínua de atualizações com collection é uma maneira realmente eficiente de manter novas visões analíticas de dados que dão suporte à tomada de decisões e ações automatizadas e humanas. Além das visualizações materializadas, os desenvolvedores também têm a flexibilidade de publicar eventos processados de volta em sistemas de streaming como o Apache Kafka.

Criando um Processador de Stream

Vamos mostrar como é fácil construir um processador de stream no MongoDB Atlas. Com o Atlas Stream Processing, você pode usar a mesma sintaxe aggregation pipeline para um processador de fluxo com o qual você está familiarizado no banco de dados. Abaixo, apresentamos uma instância simples de processamento de fluxo do início ao fim. São necessárias apenas algumas linhas de código.

Primeiro, escreveremos um aggregation pipeline que defina uma fonte para seus dados, execute a validação garantindo que os dados não venham do endereço IP localhost/​127.0.0.1, crie uma janela em cascata para coletar dados de mensagens agrupadas a cada minuto e depois mescle esses dados. dados recém-processados em uma collection MongoDB no Atlas.

Em seguida, criaremos nosso Stream Processor chamado “netattacks” especificando nosso pipeline recém-definido p, bem como dlq como argumentos. Isso executará o processamento desejado e, usando uma Dead Letter Queue (DLQ), armazenará quaisquer dados inválidos com segurança para inspeção, depuração ou reprocessamento posterior.

Por último, podemos iniciá-lo. Isso é tudo o que é necessário para construir um processador de stream no MongoDB Atlas.

Solicitar visualização privada

Estamos entusiasmados em colocar este produto em suas mãos e ver o que você constrói com ele. Saiba mais sobre o Atlas Stream Processing e solicite acesso antecipado aquipara participar da visualização privada assim que for aberta aos desenvolvedores.

Novo no MongoDB? Comece gratuitamente hoje inscrevendo-se no MongoDB Atlas.

Porto Seguro

O desenvolvimento, lançamento e cronograma de quaisquer recursos ou funcionalidades descritos para nossos produtos permanecem a nosso exclusivo critério. Estas informações destinam-se apenas a delinear a orientação geral do nosso produto e não devem ser utilizadas para tomar uma decisão de compra, nem constituem um compromisso, promessa ou obrigação legal de fornecer qualquer material, código ou funcionalidade.