Com o Azion Data Streaming você pode alimentar suas plataformas de big data e stream processing com dados de acesso ao seu conteúdo e aplicações, em tempo real, adicionando ainda mais inteligência ao seu negócio.

Essa integração permite que você faça análises de comportamento dos usuários e da performance dos seus conteúdos e aplicações, além de auditorias e troubleshooting, de forma simples e ágil.

  1. Requisitos
  2. Stream Endpoint
  3. Como configurar o Data Streaming
  4. Dados Disponíveis

1. Requisitos

Para utilizar o produto Data Streaming, você precisará de um cluster Apache Kafka (versão >= 0.82) ou Elastic Search  (versão 2.x) para receber o stream de dados em tempo real. Essas plataformas foram escolhidas pela Azion por serem largamente utilizadas, por atenderem a inúmeros requisitos de performance e escalabilidade, além de serem consideradas padrões de mercado. Podem ser utilizadas integradamente com as principais platafarmas open source de stream processing, tais como:

Você precisará de uma plataforma de Stream Processing para processar os dados recebidos, de acordo com as necessidades customizadas de seu negócio e aplicações, ou pode utilizar o Elastic Search diretamente ou integrado ao Kibana.


2. Stream Endpoint

Apache Kafka

Se você optar por um endpoint Apache Kafka, a configuração do produto se dá pela definição de um endpoint em sua infraestrutura, que receberá os dados enviados pela Azion.

Bootstrap Servers

Durante a configuração do produto Data Streaming, você precisará saber a lista de Bootstrap Servers de seu cluster Kafka, no formato “host1:port1, host2:port2, …“. A lista não precisa conter todos os servidores de seu cluster, apenas alguns servidores que serão utilizados para o conexão incial e descoberta de seu cluster.

Recomendamos que você utilize mais de um bootstrap server para aumentar a redundância e disponibilidade de sua plataforma.

Lembre-se que você precisa liberar em seus filtros de rede o acesso público para que a Azion possa publicar as mensagens em seu cluster Kafka através do endereço IP:

158.69.73.75

Acks & Retries

Ack é a confirmação de recebimento das mensagens por seu cluster Kafka. Você poderá configurar o Data Streaming para aguardar pela confirmação de Acks da seguinte forma:

  • 0: instrui o Data Streaming a não esperar por Acks. Dessa forma, as mensagens serão consideradas como recebidas por seu endpoint imediatamente após o envio, sem qualquer tipo de confirmação. Não haverá reenvio (Retries) em caso de perda de mensagens.
  • 1: o líder irá escrever o registro em seus registros locais e responderá com a confirmação (Ack) sem aguardar uma confirmação completa de todos seus followers. Nesse caso, se o líder falhar logo após a confirmação de recebimento da mensagem (Ack) e imediatamente antes da replicação para os followers, a mensagem poderá ser perdida.
  • all: o líder irá aguardar a confirmação de todos os seus followers antes de confirmar a recepção da mensagem para o Data Streaming. Essa é a garantia de entrega mais forte.

Retries define o número de retentativas de envio da mensagem que o Data Streaming fará, caso não receba nenhuma confirmação (Ack) de seu endpoint. Em caso de falha temporária de seu endpoint e definindo um valor para Retries superior a 0 (zero) poderá resultar em entrega de mensagens fora de ordem e, eventualmente, duplicadas. Mensagens duplicadas podem ser deduplicadas através de seu ID único.

Topic

Você precisa definir um Topic onde deseja que o Data Streaming publique as mensagens em seu cluster Kafka.

Elastic Search

Caso você opte por um endpoint Elastic Search, poderá escolher entre instalar a plataforma em sua infraestrutura ou utilizá-lo como Cloud Service. Você deverá informar para a Azion:

  • Endereços do seu cluster, no formato “host1:port1, host2:port2, …“.
  • Caso opte por utilizar atenticação, deverá utilizar portas com SSL configurado e deverá informar a Azion username e password.
  • Nome do cluster.
  • Índice e tipo.

3. Como configurar o Data Streaming

O PRODUTO AINDA NÃO ESTÁ INTEGRADO AO REAL-TIME MANAGER. A CONFIGURAÇÃO SERÁ FEITA PELA AZION E A CONFIGURATION PRECISARÁ FICAR EM LOCKED.

Para configuração do produto, a Azion precisa das seguintes informações:

  1. Se optar por Apache Kafka: Bootstrap Servers, Acks & Retries, Kafka Topic.
  2. Se optar por Elastic Search: Servers, Nome do Cluster, Índice e tipo, opcionalmente Username e Password para autenticação.
  3. Seleção de variáveis desejadas.

Line Encoding

As linhas de dados enviadas através do Data Streaming são codificadas em JSON com alguns campos de metadados, conforme segue:

Campo Descrição
id id do registro, pode ser usado para deduplicação
timestamp horario de processamento do log
product_id id do produto Content Delivery: 1441740010
configuration_id id da Configuration de Content Delivery
endpoint_id id do endpoint do Log Streaming que gerou a linha de log
data a(s) linha(s) de dados propriamente, com campos separados por tab (\t) e linhas terminadas por newline (\n), contendo os campos (fields) selecionados para envio

4. Dados Disponíveis

A Azion disponibiliza para você uma ampla lista de variáveis que podem ser utilizadas no produto Data Streaming. Consulte a documentação que segue para obter a descrição de todas as variáveis suportadas .