anchor.diff:  For the consumers shown in the following figure, this property would be set as `spring.cloud.stream.bindings.<channelName>.group=hdfsWrite` or `spring.cloud.stream.bindings.<channelName>.group=average`.
   
   .Spring Cloud Stream Consumer Groups
  -image::SCSt-groups.png[width=300,scaledwidth="50%"]
  +image::SCSt-groups.png[width=800,scaledwidth="75%",align="center"]
   
   All groups that subscribe to a given destination receive a copy of published data, but only one member of each group receives a given message from that destination.
   By default, when a group is not specified, Spring Cloud Stream assigns the application to an anonymous and independent single-member consumer group that is in a publish-subscribe relationship with all other consumer groups.
  
positive.code: This can be seen in the following figure, which shows a typical deployment for a set of interacting Spring Cloud Stream applications.
  
  .Spring Cloud Stream Publish-Subscribe
  image::SCSt-sensors.png[width=300,scaledwidth="50%"]
  
  Data reported by sensors to an HTTP endpoint is sent to a common destination named `raw-sensor-data`.
  From the destination, it is independently processed by a microservice application that computes time-windowed averages and by another microservice application that ingests the raw data into HDFS (Hadoop Distributed File System).
  
negative.code: Channels are connected to external brokers through middleware-specific Binder implementations.
  
  .Spring Cloud Stream Application
  image::SCSt-with-binder.png[width=800,scaledwidth="75%",align="center"]
  
  ==== Fat JAR
  
  