anchor.diff:        - "9092:9092"
       environment:
         LOG_DIR: "/tmp/logs"
  -      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
  +      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
         KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
         KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
  -----
  -
  -Once created, run `docker-compose up`.
  +    networks:
  +      - kafkaquickstart-network
  +
  +  producer:
  +    image: quarkus-quickstarts/kafka-quickstart-producer:1.0
  +    build:
  +      context: producer
  +      dockerfile: src/main/docker/Dockerfile.${QUARKUS_MODE:-jvm}
  +    environment:
  +      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
  +    ports:
  +      - "8080:8080"
  +    networks:
  +      - kafkaquickstart-network
  +
  +  processor:
  +    image: quarkus-quickstarts/kafka-quickstart-processor:1.0
  +    build:
  +      context: processor
  +      dockerfile: src/main/docker/Dockerfile.${QUARKUS_MODE:-jvm}
  +    environment:
  +      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
  +    networks:
  +      - kafkaquickstart-network
  +
  +networks:
  +  kafkaquickstart-network:
  +    name: kafkaquickstart
  +----
  +
  +Make sure you first build both applications in JVM mode with:
  +
  +[source, bash]
  +----
  +./mvnw package
  +----
  +
  +Once packaged, run `docker-compose up`.
   
   NOTE: This is a development cluster, do not use in production.
  -
  -You can build and run the application in JVM mode with:
  -
  -[source, bash]
  -----
  -./mvnw package
  -java -jar target/quarkus-app/quarkus-run.jar
  -----
  -
  -NOTE: By default, the application tries to connect to a Kafka broker listening at `localhost:9092`.
  -You can configure the bootstrap server using: `java -Dkafka.bootstrap.servers=... -jar target/quarkus-app/quarkus-run.jar`
  -
  -You can build and run the native executable with:
  -
  -[source,bash]
  -----
  -./mvnw package -Pnative
  -./target/kafka-quickstart-1.0.0-SNAPSHOT-runner -Dkafka.bootstrap.servers=localhost:9092
  -----
   
   == Going further
   
  
positive.code: 
  == Architecture
  
  In this guide, we are going to generate (random) prices in one component.
  These prices are written in a Kafka topic (`prices`).
  A second component reads from the `prices` Kafka topic and apply some magic conversion to the price.
  The result is sent to an in-memory channel consumed by a JAX-RS resource.
  The data is sent to a browser using server-sent events.
  
  image::kafka-guide-architecture.png[alt=Architecture, align=center]
  
  == Solution
  
negative.code: </dependency>
  ----
  
  Now create the `processor` project:
  
  [source,bash,subs=attributes+]
  ----
  mvn io.quarkus:quarkus-maven-plugin:{quarkus-version}:create \
      -DprojectGroupId=org.acme \
      -DprojectArtifactId=kafka-quickstart-processor \
      -DclassName="org.acme.kafka.processor.QuoteProcessor" \
      -Dextensions="smallrye-reactive-messaging-kafka"
  ----
  
  
  [TIP]
  .Dev Services
  ====
  