Ensine como integrar springboot com kafka

Este artigo foi compartilhado pela Huawei Cloud Community " Introdução ao springboot+kafka de mãos dadas ", autor: QGS.

Instale o kafka

Iniciar o ambiente local Kafka requer Java 8+ ou superior

Kafka é um sistema de mensagens de publicação e assinatura distribuída de alto rendimento que pode processar todos os dados de streaming de ação dos consumidores no site.

Os métodos de inicialização do Kafka incluem Zookeeper e Kraft. Você só pode escolher um dos dois métodos de inicialização e não pode usá-los ao mesmo tempo.

Baixar Kafka https://downloads.apache.org/kafka/3.7.0/kafka_2.13-3.7.0.tgz

Descompacte tar -xzf kafka_2.13-3.7.0.tgz

1. Zookeeper inicia Kafka (kafka tem zookeeper integrado)

Kafka confia no Zookeeper

1. Inicie o Zookeeper 2. Inicie o Kafka

Comece a usar o Zookeeper do próprio Kafka

./zookeeper-server-start.sh ../config/zookeeper.properties &

./zookeeper-server-stop.sh ../config/zookeeper.properties

./kafka-server-start.sh ../config/server.properties &

./kafka-server-stop.sh ../config/server.properties

2. Servidor Zookeeper inicia Kafka

Instalação do servidor Zookeeper

https://zookeeper.apache.org/

https://dlcdn.apache.org/zookeeper/zookeeper-3.9.2/apache-zookeeper-3.9.2-bin.tar.gz

tar zxvf apache-zookeeper-3.9.2-bin.tar.gz

Configurar o servidor Zookeeper

cp zoo_sample.cfg zoo.cfg

Inicie o servidor Zookeeper

./zkServer.sh iniciar

Modificar porta Zookeeper

Adicione conteúdo ao Zoo.cfg

admin.serverPort=8099

Reinicie o Zookeeper no diretório apache-zookeeper-3.9.2-bin/bin

Servidor Zookeeper inicia kafka

Diretório /opt/kafka_2.13-3.7.0/bin

./kafka-server-start.sh ../config/server.properties &

Arquivo de configuração Kafka server.properties

3. Use o KRaft para iniciar o Kafka

Identificador universalmente exclusivo UUID (Identificador Universalmente Único)

1, UUID de cluster gerado: ./kafka-storage.sh random-uuid

2. Formate o diretório de log kafka: ./kafka-storage.sh format -t 3pMJGNJcT0uLIBsZhbucjQ -c ../config/kraft/server.properties

3. Inicie o kafka: ./kafka-server-start.sh ../config/kraft/server.properties &

springboot integra kafka

Ao criar um tópico, se você não especificar o número de partições para o tópico, o padrão será 1 partição.

Modifique o arquivo server.properties

porque server.properties

ouvintes=PLAINTEXT://0.0.0.0:9092

anunciado.listeners=PLAINTEXT://192.168.68.133:9092

springboot adiciona dependência do kafka

<dependência>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>

Depois de adicionar a dependência spring-kafka, o springboot monta automaticamente os beans do kafkaTemplate.

application.yml configura conexão com kafka

primavera:
Kafka:
servidores de inicialização: 192.168.68.133:9092

produtor

Envie uma mensagem

@Recurso
private KafkaTemplate<String,String> kafkaTemplate;

@Teste
void kafkaSendTest(){
kafkaTemplate.send("kafkamsg01","olá kafka");
}

consumidor

receber mensagens

@Componente
classe pública KafkaConsumer {

@KafkaListener(tópicos = {"kafkamsg01","teste"},groupId = "123")
public void consumir(String mensagem){
System.out .println ("Mensagem recebida: "+mensagem);
}

}

Se nenhum groupid estiver configurado

Falha ao iniciar o bean 'org.springframework.kafka.config.internalKafkaListenerEndpointRegistry'; a exceção aninhada é java.lang.IllegalStateException: Nenhum group.id encontrado na configuração do consumidor, nas propriedades do contêiner ou na anotação @KafkaListener; um group.id é necessário quando o gerenciamento de grupo é usado.

@Componente
classe pública KafkaConsumer {

@KafkaListener(tópicos = {"kafkamsg01","teste"},groupId = "123")
public void consumir(String mensagem){
System.out .println ("Mensagem recebida: "+mensagem);
}

}

Clique para seguir e conhecer as novas tecnologias da Huawei Cloud o mais rápido possível~

A equipe de IA da Microsoft na China fez as malas e foi para os Estados Unidos, envolvendo centenas de pessoas. Quanta receita um projeto de código aberto desconhecido pode trazer? A Huawei anunciou oficialmente que a posição da Universidade de Ciência e Tecnologia de Yu Chengdong foi ajustada. abriu oficialmente o acesso à rede externa Os fraudadores usaram o TeamViewer para transferir 3,98 milhões! O que os fornecedores de desktop remoto devem fazer? A primeira biblioteca de visualização front-end e fundador do conhecido projeto de código aberto ECharts do Baidu - um ex-funcionário de uma conhecida empresa de código aberto que "foi para o mar" deu a notícia: Depois de ser desafiado por seus subordinados, o técnico O líder ficou furioso e rude e demitiu a funcionária grávida. A OpenAI considerou permitir que a IA gerasse conteúdo pornográfico. A Microsoft relatou à The Rust Foundation doou 1 milhão de dólares americanos. ?
{{o.nome}}
{{m.nome}}

Acho que você gosta

Origin my.oschina.net/u/4526289/blog/11140692
Recomendado
Clasificación