Explore elementos comuns da arquitetura de processamento de fluxo

Concluído

Há muitas tecnologias que você pode usar para implementar uma solução de processamento de fluxo, mas embora os detalhes específicos da implementação possam variar, há elementos comuns para a maioria das arquiteturas de streaming.

Uma arquitetura geral para processamento de fluxo

Em sua forma mais simples, uma arquitetura de alto nível para processamento de fluxo tem esta aparência:

Diagrama de um evento gerando dados, que são capturados em uma fila antes de serem processados, e os resultados são gravados em um armazenamento de dados ou visualização.

  1. Um evento gera alguns dados. Pode ser um sinal emitido por um sensor, uma mensagem de mídia social sendo postada, uma entrada de arquivo de log sendo gravada ou qualquer outra ocorrência que resulte em alguns dados digitais.
  2. Os dados gerados são capturados em uma fonte de streaming para processamento. Em casos simples, a fonte pode ser uma pasta em um armazenamento de dados em nuvem ou uma tabela em um banco de dados. Em soluções de streaming mais robustas, a origem pode ser uma "fila" que encapsula a lógica para garantir que os dados do evento sejam processados em ordem e que cada evento seja processado apenas uma vez.
  3. Os dados de evento são processados, geralmente por uma consulta perpétua que opera nos dados do evento para selecionar dados para tipos específicos de eventos, valores de dados do projeto ou agregar valores de dados em períodos (ou janelas) temporais (baseados no tempo) - por exemplo, contando o número de emissões do sensor por minuto.
  4. Os resultados da operação de processamento de fluxo são gravados em uma saída (ou coletor), que pode ser um arquivo, uma tabela de banco de dados, um painel visual em tempo real ou outra fila para processamento adicional por uma consulta downstream subsequente.

Serviços de análise em tempo real

A Microsoft oferece suporte a várias tecnologias que você pode usar para implementar análises em tempo real de dados de streaming, incluindo:

  • Azure Stream Analytics: uma solução de plataforma como serviço (PaaS) que você pode usar para definir trabalhos de streaming que ingerem dados de uma fonte de streaming, aplicam uma consulta perpétua e gravam os resultados em uma saída.
  • Spark Structured Streaming: uma biblioteca de código aberto que permite desenvolver soluções complexas de streaming em serviços baseados no Apache Spark, incluindo Microsoft Fabric e Azure Databricks.
  • Microsoft Fabric: uma plataforma de banco de dados e análise de alto desempenho que inclui Engenharia de Dados, Data Factory, Ciência de Dados, Análise em Tempo Real, Data Warehouse e Bancos de Dados.

Fontes para processamento de fluxo

Os seguintes serviços são normalmente usados para ingerir dados para processamento de fluxo no Azure:

  • Hubs de Eventos do Azure: um serviço de ingestão de dados que você pode usar para gerenciar filas de dados de eventos, para garantir que cada evento seja processado em ordem, exatamente uma vez.
  • Hub IoT do Azure: um serviço de ingestão de dados semelhante aos Hubs de Eventos do Azure, mas otimizado para gerenciar dados de eventos de dispositivos de Internet das Coisas (IoT).
  • Azure Data Lake Store Gen 2: um serviço de armazenamento altamente escalável frequentemente usado em cenários de processamento em lote, mas também pode ser usado como uma fonte de dados de streaming.
  • Apache Kafka: Uma solução de ingestão de dados de código aberto comumente usada em conjunto com o Apache Spark.

Dissipadores para processamento de fluxo

A saída do processamento de fluxo é frequentemente enviada para os seguintes serviços:

  • Hubs de Eventos do Azure: usados para enfileirar os dados processados para processamento posterior a jusante.
  • Azure Data Lake Store Gen 2, Microsoft OneLake ou Azure blob storage: usado para persistir os resultados processados como um arquivo.
  • Banco de Dados SQL do Azure, Azure Databricks ou Microsoft Fabric: usado para persistir os resultados processados em uma tabela para consulta e análise.
  • Microsoft Power BI: Usado para gerar visualizações de dados em tempo real em relatórios e painéis.