Skip to content

Latest commit

 

History

History
executable file
·
141 lines (107 loc) · 5.52 KB

tool-kafka.md

File metadata and controls

executable file
·
141 lines (107 loc) · 5.52 KB

Apache Kafka

Apache Kafka é uma plataforma de streaming (fluxo de dados) de eventos distribuídos de código aberto usada por milhares de empresas para pipelines de dados de alto desempenho, análise de streaming, integração de dados e aplicativos de missão crítica.

O Apache Kafka é uma plataforma de stream (fluxo de dados) de alto throughput que desacopla os produtores de dados dos consumidores de dados

Kafka é um barramento de mensagens otimizado para fluxos de dados com alta entrada e reprodução, que pode ser visto como um intermediário de mensagens durável, onde os aplicativos podem processar e reprocessar dados transmitidos em disco. Ele tem uma abordagem de roteamento muito simples.

Mais informações em https://kafka.apache.org.

Objetivos

Ofereça suporte a casos de uso de missão crítica com pedido garantido, perda zero de mensagens e processamento eficiente de uma só vez.

Integrar sistemas com grande volume de dados. Mover uma grande quantidade de dados, processar dados em tempo real ou analisar dados durante um período de tempo. Oferecer suporte a consumidores em lote que podem estar offline ou consumidores que desejam mensagens com baixa latência.

Oferecer funcionalidades para coleta, armazenamento e manipulação de dados. Um exemplo é quando você deseja acompanhar a atividade do usuário em uma loja virtual e gerar itens sugeridos para compra. Outro exemplo é a análise de dados para rastreamento, ingestão, registro ou segurança.

Aplicabilidade

  • Para processar pagamentos e transações financeiras em tempo real, como em bolsas de valores, bancos e seguros.
  • Para rastrear e monitorar carros, caminhões, frotas e remessas em tempo real, como na logística e na indústria automotiva.
  • Para capturar e analisar continuamente os dados do sensor de dispositivos IoT ou outros equipamentos, como fábricas e parques eólicos.
  • Para coletar e reagir imediatamente às interações e pedidos do cliente, como no varejo, no setor de hotéis e viagens e em aplicativos móveis.
  • Para monitorar pacientes em cuidados hospitalares e prever mudanças nas condições para garantir o tratamento oportuno em emergências.
  • Conectar, armazenar e disponibilizar dados produzidos por diferentes divisões de uma empresa.
  • Para servir como base para plataformas de dados, arquiteturas orientadas a eventos e microsserviços.

Informações Técnicas

  • Escrito em: Java/Scala
  • Ponto principal: Processamento sem perda de mensagens
  • Licença: Apache 2.0
  • Protocolo: Apache Kafka
  • Publish/Subscribe Arquitecture
  • Sem perda de mensagens (pois são armazenadas em disco)
  • Processamento em tempo real ou retrospectivamente
  • O protocolo Apache Kafka suporta tópicos de quase qualquer escala

Docker Compose

Um exemplo de configuração via Docker Compose:

version: "3.1"
services:
  zookeeper:
    image: ricardopedias/docker-project-images:zookeeper35
    container_name: project-zookeeper
    ports:
      - 1070:2181
      - 1080:2000
    networks:
      - dev-network

  kafka:
    image: ricardopedias/docker-project:kafka27
    container_name: project-kafka
    depends_on:
      - zookeeper
    ports:
      - 1090:9092
    networks:
      - dev-network

  kafdrop:
    image: ricardopedias/docker-project:kafdrop327
    container_name: project-kafdrop
    depends_on:
      - kafka
    ports:
      - 1100:9000
    networks:
      - dev-network
      
networks:
  dev-network:
    driver: bridge

Acesso aos recursos

O ambiente Kafka é disponibilizado por 3 imagens:

  • ricardopedias/zookeeper
  • ricardopedias/kafka
  • ricardopedias/kaftop

As portas originais foram mapeadas através do compose.yaml, como seguem demonstradas na tabela:

Descrição Porta Original Porta Mapeada URI
Acesso/Recurso 9092 1090
Admin 9000 2000 http://localhost:2000

Informações de acesso

  • Usuário: devel
  • Senha: devel

Bibliotecas e SDKs para PHP

Links importantes

Os links abaixo foram usados para obter as informações necessárias para gerar a imagem neste projeto:

Sobre Mensageria

Sobre o Apache Kafka