Apprenez à intégrer Springboot avec Kafka

Cet article est partagé par Huawei Cloud Community « Démarrer avec springboot+kafka main dans la main », auteur : QGS.

Installer Kafka

Le démarrage de l'environnement local Kafka nécessite Java 8+ ou supérieur

Kafka est un système de messagerie de publication-abonnement distribué à haut débit qui peut traiter toutes les données d'action en continu des consommateurs sur le site Web.

Les méthodes de démarrage de Kafka incluent Zookeeper et Kraft. Vous ne pouvez choisir qu'une seule des deux méthodes de démarrage et ne pouvez pas les utiliser en même temps.

Téléchargement de Kafka https://downloads.apache.org/kafka/3.7.0/kafka_2.13-3.7.0.tgz

Décompressez tar -xzf kafka_2.13-3.7.0.tgz

1. Zookeeper démarre Kafka (kafka a un gardien de zoo intégré)

Kafka s'appuie sur Zookeeper

1. Démarrez Zookeeper 2. Démarrez Kafka

Commencez à utiliser le propre Zookeeper de 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. Le serveur Zookeeper démarre Kafka

Installation du serveur 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

Configurer le serveur Zookeeper

cp zoo_sample.cfg zoo.cfg

Démarrez le serveur Zookeeper

./zkServer.sh démarrer

Modifier le port Zookeeper

Ajouter du contenu à Zoo.cfg

admin.serverPort=8099

Redémarrez Zookeeper dans le répertoire apache-zookeeper-3.9.2-bin/bin

Le serveur Zookeeper démarre Kafka

Répertoire /opt/kafka_2.13-3.7.0/bin

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

Fichier de configuration Kafka server.properties

3. Utilisez KRaft pour démarrer Kafka

UUID identifiant universellement unique (Universally Unique Identifier)

1, UUID de cluster généré : ./kafka-storage.sh random-uuid

2. Formatez le répertoire des journaux Kafka : ./kafka-storage.sh format -t 3pMJGNJcT0uLIBsZhbucjQ -c ../config/kraft/server.properties

3. Démarrez kafka : ./kafka-server-start.sh ../config/kraft/server.properties &

Springboot intègre Kafka

Lors de la création d'un sujet, si vous ne spécifiez pas le nombre de partitions pour le sujet, la valeur par défaut est 1 partition.

Modifier le fichier server.properties

parce que serveur.propriétés

auditeurs=PLAINTEXT://0.0.0.0:9092

annoncé.listeners=PLAINTEXT://192.168.68.133:9092

Springboot ajoute une dépendance à Kafka

<dépendance>
<groupId>org.springframework.kafka</groupId>
<artifactId>printemps-kafka</artifactId>
</dépendance>

Après avoir ajouté la dépendance spring-kafka, springboot assemble automatiquement les beans de kafkaTemplate.

application.yml configure la connexion à kafka

printemps:
kafka :
serveurs d'amorçage : 192.168.68.133:9092

producteur

Envoyer un message

@Ressource
privé KafkaTemplate<String,String> kafkaTemplate ;

@Test
annuler kafkaSendTest(){
kafkaTemplate.send("kafkamsg01","bonjour kafka");
}

consommateur

recevoir des messages

@Composant
classe publique KafkaConsumer {

@KafkaListener(topics = {"kafkamsg01","test"},groupId = "123")
public void consommer(String message){
Système.out .println ("Message reçu : "+message);
}

}

Si aucun groupid n'est configuré

Échec du démarrage du bean 'org.springframework.kafka.config.internalKafkaListenerEndpointRegistry' ; L'exception imbriquée est java.lang.IllegalStateException : aucun group.id trouvé dans la configuration du consommateur, les propriétés du conteneur ou l'annotation @KafkaListener ; un group.id est requis lorsque la gestion de groupe est utilisée.

@Composant
classe publique KafkaConsumer {

@KafkaListener(topics = {"kafkamsg01","test"},groupId = "123")
public void consommer(String message){
Système.out .println ("Message reçu : "+message);
}

}

Cliquez pour suivre et découvrir les nouvelles technologies de Huawei Cloud dès que possible~

L'équipe chinoise d'IA de Microsoft a fait ses valises et s'est rendue aux États-Unis, impliquant des centaines de personnes. Combien de revenus un projet open source inconnu peut-il rapporter ? Huawei a officiellement annoncé que la position de la station miroir open source de l'Université des sciences et technologies de Yu Huazhong a été ajustée. L'accès au réseau externe a été officiellement ouvert. Les fraudeurs ont utilisé TeamViewer pour transférer 3,98 millions ! Que doivent faire les fournisseurs de postes de travail à distance ? La première bibliothèque de visualisation frontale et fondateur du célèbre projet open source de Baidu, ECharts - un ancien employé d'une société open source bien connue qui "est allée à la mer" a annoncé la nouvelle : après avoir été interpellé par ses subordonnés, le technicien Le leader est devenu furieux et grossier et a licencié l'employée enceinte. OpenAI a envisagé d'autoriser l'IA à générer du contenu pornographique. Microsoft a déclaré à la Fondation Rust qu'elle avait fait un don de 1 million de dollars américains. Veuillez me dire quel est le rôle de time.sleep(6) ici. ?
{{o.name}}
{{m.nom}}

Je suppose que tu aimes

Origine my.oschina.net/u/4526289/blog/11140692
conseillé
Classement