Apache Kafka es un sistema de mensajería de publicación y suscripción. Una cola de mensajería le permite enviar mensajes entre procesos, aplicaciones y servidores. En este artículo, veremos cómo enviar mensajes de string a Apache Kafka en una aplicación Spring Boot.
Para aprender a crear un proyecto Spring Boot, consulte este artículo .
La string es una secuencia de caracteres. En java, los objetos de String son inmutables, lo que significa una constante y no se pueden cambiar una vez creados. Y también, Java permite el encasillamiento explícito en el que un tipo de variable se puede convertir a la fuerza en otro. Por ejemplo, el mismo mensaje de string se puede convertir en un int o un flotante si la string consta solo de números y necesita usarse para algún cálculo. Se pueden seguir los siguientes pasos para publicar un mensaje de string en Apache Kafka:
- Vaya a spring initializr y cree un proyecto inicial con las siguientes dependencias:
- Telaraña de primavera
- Primavera para Apache Kafka
- Abra el proyecto en un IDE y sincronice las dependencias. Ahora crea un nuevo controlador de clase con la anotación @RestController . Esta clase maneja todas las rutas RESTful.
- En esta clase, cree una API GET e inicialice KafkaTemplate con el parámetro como string. La siguiente es la implementación de la clase:
// Java program to implement the
// controller for the spring
// application
@RestController
@RequestMapping
(
"/kafka"
)
public
class
Controller {
@Autowired
KafkaTemplate<String, String>
kafkaTemplate;
static
final
String TOPIC =
"gfg"
;
// Implementing a GET method
@GetMapping
(
"publish/{message}"
)
public
String publish_message(
@PathVariable
(
"message"
) String message)
{
kafkaTemplate.send(TOPIC, message);
return
"Message Published on Kafka !"
;
}
}
- Inicie zookeeper y el servidor Kafka. Ahora necesitamos crear un nuevo tema con el nombre gfg . Para hacerlo, abra una nueva ventana del símbolo del sistema y cambie el directorio al directorio de Kafka.
- Ahora crea un nuevo tema usando el comando dado a continuación:
Para Mac y Linux: bin/kafka-topics.sh –create –zookeeper localhost:2181 –factor de replicación 1 –particiones 1 –tema nombre_tema
Para Windows: .\bin\windows\kafka-topics.bat –create –zookeeper localhost:2181 –factor de replicación 1 –particiones 1 –tema nombre_tema
- Ahora, para ver los mensajes en el servidor Kafka en tiempo real, use el siguiente comando:
Para MAC y Linux: bin/kafka-console-consumer.sh –bootstrap-server localhost:9092 –topic topic_name –from-beginning
Para Windows: .\bin\windows\kafka-console-consumer.bat –bootstrap-server localhost:9092 –tema nombre_tema –desde-el-principio
- Ejecute la aplicación y llame a la API como:
localhost:8080/kafka/publish/{su mensaje}
Nota: si se ha utilizado un puerto diferente, reemplace el puerto con 8080.
Producción:
Publicación traducida automáticamente
Artículo escrito por AakashYadav4 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA