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. ?