Ejemplo de productor de Spring Boot Kafka

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

  1. Ejecute el servidor Apache Zookeeper
  2. Ejecute el servidor Apache Kafka
  3. 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. 

Output

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.

Output

Publicación traducida automáticamente

Artículo escrito por AmiyaRanjanRout y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *