Kafka ya sabemos que es un sistema distribuido y particionado de mensajería.
Conceptos
· Kafka mantiene los mensajes en categorías llamadas Topics.
· Productores publicar mensajes en un Topic Kafka.
· Los consumidores se suscriben a los Topics y reciben los mensajes publicados en estos Topics.
· Kafka se ejecuta como un cluster de uno o más servidores de cada una de los cuales se llama Broker.
Vamos a indicar como usar el KafkaLog4jApender para hacer un producer, que utilizando apache log4j, envíe las trazas a un servidor kakfa 0.8. Para ello vamos a ejecutar los siguientes pasos:
1. Creamos una aplicación java con maven:
mvn archetype:generate -DgroupId=com.howtodoinjava -DartifactId=log4jTestProject -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
2. Al no estar la dependencia de kafka 0.8, en los repositorios centrales de maven, deberemos cogerla de la distribución binaría que se instala en la máquina con el producto, e instalarla nosotros en nuestro repositorio local.
mvn install:install-file -Dpackaging=jar -DgroupId=not.released -DartifactId=kafka -Dversion=0.8.0 -Dfile=kafka_2.8.0-0.8.0-beta1.jar
3. Añadimos las dependencias de maven necesarias para el proyecto dentro del pom.xml
4. Editamos la clase App.java generada para que quede como sigue:
En este caso suponemos que tenemos un servidor kafka, que está escuchando en el puerto 9092, y que tiene creado un topic con el nombre de «test».
5. Empaquetamos el proyecto con
mvn package
6. Ejecutamos con:
mvn exec:java -Dexec.mainClass=»com.howtodoinjava.App»
7. Debemos tener arrancado el zookeeper, el servidor kafka, y haber creado un topic «test», como se indica en los primeros pasos aquí.
8. Arrancar un consumer sobre el topic, anteriormente creado para ver que se ha recibido el mensaje.





Replica a Luis Cancelar la respuesta