Red de conocimiento informático - Problemas con los teléfonos móviles - SpringBoot integra Kafka para implementar el envío y recepción de mensajes simples

SpringBoot integra Kafka para implementar el envío y recepción de mensajes simples

Busque el archivo de configuración server.properties en el directorio de configuración de Kafka.

Elimine los comentarios de las configuraciones de los oyentes y los oyentes anunciados. Puede configurar la IP y el puerto de la red externa del servidor conectado. Número, elegí localhost y el puerto predeterminado 9092 para la demostración aquí.

KafkaTemplate Esta clase envuelve un productor para brindar comodidad al enviar datos al tema de Kafka.

El código fuente del método send(). Muchos métodos send() también están sobrecargados en la clase KafkaTemplate. Si es necesario, puedes echar un vistazo al código fuente. Envíe datos a través de la clase de plantilla KafkaTemplate.

kafkaTemplate.send (tema de cadena, clave K, datos V), el primer parámetro de entrada es el tema, el segundo parámetro de entrada es el objeto que se enviará y el tercer parámetro de entrada son los datos que se enviarán. enviado. Configure los temas de escucha del usuario mediante la anotación @KafkaListener

bootstrap-servers: dirección del servidor kafka (puede ser múltiple)

consumer.group-id: especifique un nombre de grupo predeterminado

Si no se especifica, se informará

1. lo antes posible: cuando hay una compensación enviada en cada partición, el consumo comienza desde la compensación enviada; cuando no hay una compensación enviada, el consumo comienza desde el principio;

2. último: cuando hay un desplazamiento enviado en cada partición, el consumo comienza a partir del desplazamiento enviado; cuando no hay un desplazamiento enviado, se consumen los datos recién generados en la partición.

3. ninguno: cuando cada partición del tema tiene un desplazamiento enviado, el consumo comenzará desde el desplazamiento, siempre que haya una partición que no tenga un desplazamiento enviado, se lanzará una excepción

Este atributo también debe configurarse; de ​​lo contrario, también se producirá un error.

Cuando se utiliza Kafka para enviar y recibir mensajes, el lado del productor debe serializarse y el lado del consumidor debe deserializarse. La red transmite el byte [], solo se puede deserializar. Obtenga el contenido del mensaje real enviado por el productor.

De esta manera, los mensajes se pueden transmitir a través de la red

consumer.key-deserializer y consumer.value-deserializer son deserializadores de clave/valor del consumidor

Producer.key-deserializer y Producer. value-deserializer es la serialización clave/valor del productor

StringDeserializer es el método de deserialización de cadenas incorporado

StringSerializer es el método de serialización de cadenas incorporado

El El paquete fuente org.apache.kafka.common.serialization también proporciona múltiples tipos de métodos de serialización y deserialización

Para personalizar el método de serialización, debe implementar la interfaz Serializer

Para personalizar el método de deserialización, debe implementar la interfaz Deserializer

Para obtener más detalles, consulte

/shirukai/article/details/82152172

Este es el consumo de Información de configuración del consumidor de Kafka, cada consumidor generará la información de configuración

Visite http://localhost:8080/kafka, puede ver el mensaje de impresión de la consola