minhas informações de contato
Correspondência[email protected]
2024-07-11
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Kafka é uma fila de mensagens distribuídas (MQ, Message Queue) baseada no modelo de publicação/assinatura. É usada principalmente para computação em tempo real e coleta de logs na área de big data.
Kafka foi originalmente desenvolvido pelo Linkedin. É um sistema de middleware de mensagens distribuídas que suporta partições, múltiplas réplicas e é coordenado pelo Zookeeper. Sua maior característica é que pode processar grandes quantidades de dados em tempo real para atender diversos cenários de demanda. como sistema de processamento em lote baseado em hadoop, sistema de baixa latência em tempo real, mecanismo de streaming Spark/Flink, log de acesso nginx, serviço de mensagens, etc., escrito em linguagem scala,
O Linkedin contribuiu para a Fundação Apache em 2010 e se tornou um dos principais projetos de código aberto.
A principal razão é que, em um ambiente de alta simultaneidade, as solicitações de sincronização não são processadas a tempo e muitas vezes as solicitações são bloqueadas. Por exemplo, um grande número de solicitações acessa o banco de dados simultaneamente, resultando em bloqueios de linha e de tabela. Finalmente, muitos threads de solicitação serão acumulados, provocando muitos erros de conexão e desencadeando um efeito de avalanche.
Usamos filas de mensagens para lidar com solicitações de forma assíncrona para aliviar a pressão no sistema. As filas de mensagens são frequentemente usadas em processamento assíncrono, redução de pico de tráfego, desacoplamento de aplicativos, comunicação de mensagens e outros cenários.
Atualmente, os middlewares MQ mais comuns incluem ActiveMQ, RabbitMQ, RocketMQ, Kafka, etc.
(1) Desacoplamento
Permite estender ou modificar os processos de ambos os lados de forma independente, desde que sigam as mesmas restrições de interface.
(2) Restaurabilidade
Quando um componente do sistema falha, isso não afeta todo o sistema. A fila de mensagens reduz o acoplamento entre processos, portanto, mesmo que um processo que processa mensagens seja interrompido, as mensagens adicionadas à fila ainda poderão ser processadas após a recuperação do sistema.
(3) Buffer
Ajuda a controlar e otimizar a velocidade do fluxo de dados através do sistema e a resolver o problema de velocidades de processamento inconsistentes de mensagens de produção e mensagens de consumidor.
(4) Flexibilidade