Spring Boot es uno de los marcos más populares y más utilizados del lenguaje de programación Java. Es un marco basado en microservicios y hacer una aplicación lista para producción usando Spring Boot lleva mucho menos tiempo. Spring Boot facilita la creación de aplicaciones basadas en Spring independientes y de grado de producción que puede » simplemente ejecutar «. Entonces, algunas de las características principales de Spring Boot se enumeran a continuación.
- Cree aplicaciones Spring independientes
- Incruste Tomcat, Jetty o Undertow directamente.
- Proporcione dependencias «iniciales» para simplificar la configuración de compilación.
- Configure Spring y bibliotecas de terceros automáticamente siempre que sea posible.
- Proporcione funciones listas para producción, como comprobaciones de estado, métricas y configuración externalizada.
- Casi ninguna generación de código y ningún requisito para la configuración de XML.
Apache Kafka es un sistema de mensajería de publicación y suscripción. Un sistema de mensajería le permite enviar mensajes entre procesos, aplicaciones y servidores. En términos generales, Apache Kafka es un software donde los temas (un tema puede ser una categoría) se pueden definir y procesar. Las aplicaciones pueden conectarse a este sistema y transferir un mensaje al tema. Un mensaje puede incluir cualquier tipo de información, de cualquier evento en su blog personal o puede ser un mensaje de texto muy simple que desenstringría cualquier otro evento. aquí discutiremos cómo podemos publicar mensajes en temas de Kafka con Spring Boot donde Kafka es un requisito previo
Ejemplo:
Requisito previo : asegúrese de haber instalado Apache Kafka en su máquina local. Consulte este artículo ¿Cómo instalar y ejecutar Apache Kafka en Windows?
Paso 1: vaya a este enlace https://start.spring.io/ y cree un proyecto Spring Boot. Agregue las siguientes dependencias a su proyecto Spring Boot.
- Telaraña de primavera
- Primavera para Apache Kafka
Paso 2: Ahora vamos a crear una clase de controlador llamada DemoController .
Java
// Java Program to Illustrate Controller Class package com.amiya.kafka.apachekafkaproducer; // Importing required classes import org.springframework.beans.factory.annotation.Autowired; import org.springframework.kafka.core.KafkaTemplate; import org.springframework.web.bind.annotation.*; // Annotation @RestController // Class public class DemoController { // Autowiring Kafka Template @Autowired KafkaTemplate<String, String> kafkaTemplate; private static final String TOPIC = "NewTopic"; // Publish messages using the GetMapping @GetMapping("/publish/{message}") public String publishMessage(@PathVariable("message") final String message) { // Sending the message kafkaTemplate.send(TOPIC, message); return "Published Successfully"; } }
Paso 3: ahora tenemos que hacer lo siguiente para publicar mensajes en temas de Kafka con Spring Boot
- Ejecute el servidor Apache Zookeeper
- Ejecute el servidor Apache Kafka
- Escuche los mensajes provenientes de los nuevos temas.
Ejecute su servidor Apache Zookeeper usando este comando
C:\kafka>.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties
De manera similar, ejecute su servidor Apache Kafka usando este comando
C:\kafka>.\bin\windows\kafka-server-start.bat .\config\server.properties
Ejecute el siguiente comando para escuchar los mensajes provenientes de los nuevos temas
C:\kafka>.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic NewTopic --from-beginning
Paso 4: Ahora ejecute su aplicación Spring Boot. Asegúrese de haber cambiado el número de puerto en el archivo application.properties
server.port=8081
Ejecutemos la aplicación de arranque Spring dentro del archivo ApacheKafkaProducerApplication
Paso 5: navegue por esta URL y pase su mensaje después de /publicar/.
http://localhost:8081/publish/GeeksforGeeks
Como hemos pasado «GeeksforGeeks» aquí, puede ver que obtuvimos «Publicado con éxito» a cambio. Y en tiempo real, puede ver que el mensaje también se ha publicado en el servidor. La transmisión del mensaje es en tiempo real.
De manera similar, si hemos pasado «Hello World» aquí, puede ver que obtuvimos «Publicado con éxito» a cambio. Y en tiempo real, puede ver que el mensaje también se ha publicado en el servidor.
Publicación traducida automáticamente
Artículo escrito por AmiyaRanjanRout y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA