From fd99944dd2a93003e6b79155c8ce920baadc5d38 Mon Sep 17 00:00:00 2001 From: Marius Bogoevici Date: Mon, 22 Aug 2016 15:32:42 -0400 Subject: [PATCH] Documentation edits --- .../src/main/asciidoc/overview.adoc | 51 +++++++++++-------- 1 file changed, 29 insertions(+), 22 deletions(-) diff --git a/spring-cloud-stream-binder-kafka-docs/src/main/asciidoc/overview.adoc b/spring-cloud-stream-binder-kafka-docs/src/main/asciidoc/overview.adoc index cad986484..bf13b5a87 100644 --- a/spring-cloud-stream-binder-kafka-docs/src/main/asciidoc/overview.adoc +++ b/spring-cloud-stream-binder-kafka-docs/src/main/asciidoc/overview.adoc @@ -1,13 +1,11 @@ -== Introduction -This is Kafka specific implementation for Spring Cloud Stream Binder. -This implementation supports Kafka versions 0.9 and above. In the following sections, you can find more details -on how you can work with Spring Cloud Stream Kafka binder, -in what concerns mapping the Spring Cloud Stream concepts onto the middleware concepts. += Introduction +This guide describes the Apache Kafka implementation of the Spring Cloud Stream Binder. +It contains information about its design, usage and configuration options, as well as information on how the Stream Cloud Stream concepts map into Apache Kafka specific constructs. -==== Classpath Detection += Usage + +For using the Apache Kafka binder, you just need to add it to your Spring Cloud Stream application, using the following Maven coordinates: -By default, Spring Cloud Stream relies on Spring Boot's auto-configuration to configure the binding process. -Following are the maven coordinates for including the Kafka binder in a Spring Cloud Stream application. [source,xml] ---- @@ -16,25 +14,34 @@ Following are the maven coordinates for including the Kafka binder in a Spring C ---- -==== Kafka Binder Overview +Alternatively, you can also use the Spring Cloud Stream Kafka Starter. + +[source,xml] +---- + + org.springframework.cloud + spring-cloud-starter-stream-kafka + +---- + += Apache Kafka Binder Overview + +A simplified diagram of how the Apache Kafka binder operates can be seen below. .Kafka Binder image::kafka-binder.png[width=300,scaledwidth="50%"] -The Kafka Binder implementation maps the destination to a Kafka topic. -The consumer group maps directly to the same Kafka concept. -Spring Cloud Stream does not use the high-level consumer, but implements a similar concept for the simple consumer. +The Apache Kafka Binder implementation maps each destination to an Apache Kafka topic. +The consumer group maps directly to the same Apache Kafka concept. +Partitioning also maps directly to Apache Kafka partitions as well. -== Configuration Options and Properties += Configuration Options -For common configuration options and properties pertaining to binder, -Please refer to the https://github.com/spring-cloud/spring-cloud-stream/blob/master/spring-cloud-stream-docs/src/main/asciidoc/spring-cloud-stream-overview.adoc#configuration-options[core docs]. +This section contains the configuration options used by the Apache Kafka binder. -=== Kafka-Specific Settings +For common configuration options and properties pertaining to binder, refer to the https://github.com/spring-cloud/spring-cloud-stream/blob/master/spring-cloud-stream-docs/src/main/asciidoc/spring-cloud-stream-overview.adoc#configuration-options[core docs]. -The following binder, consumer, and producer properties are specific to the Kafka binder implementation. - -==== Kafka Binder Properties +== Kafka Binder Properties spring.cloud.stream.kafka.binder.brokers:: A list of brokers to which the Kafka binder will connect. @@ -101,7 +108,7 @@ spring.cloud.stream.kafka.binder.socketBufferSize:: + Default: `2097152`. -==== Kafka Consumer Properties +== Kafka Consumer Properties The following properties are available for Kafka consumers only and must be prefixed with `spring.cloud.stream.kafka.bindings..consumer.`. @@ -142,7 +149,7 @@ configuration:: + Default: Empty map. -==== Kafka Producer Properties +== Kafka Producer Properties The following properties are available for Kafka producers only and must be prefixed with `spring.cloud.stream.kafka.bindings..producer.`. @@ -167,7 +174,7 @@ Default: Empty map. [NOTE] ==== -The Kafka binder will use the `partitionCount` setting as a hint to create a topic with the given partition count (in conjunction with the `minPartitionCount`, the maximum of the two being the value being used). +The Kafka binder will use the `partitionCount` setting of the producer as a hint to create a topic with the given partition count (in conjunction with the `minPartitionCount`, the maximum of the two being the value being used). Exercise caution when configuring both `minPartitionCount` for a binder and `partitionCount` for an application, as the larger value will be used. If a topic already exists with a smaller partition count and `autoAddPartitions` is disabled (the default), then the binder will fail to start. If a topic already exists with a smaller partition count and `autoAddPartitions` is enabled, new partitions will be added.