anchor.diff:  Once it has found the correct schema of the incoming message, it retrieves the reader schema and, by using Avro's schema resolution support, reads it into the reader definition (setting defaults and any missing properties).
   
   .Schema Reading Resolution Process
  -image::schema_reading.png[width=800,scaledwidth="75%",align="center"]
  +image::{github-raw}/docs/src/main/asciidoc/images/schema_reading.png[width=800,scaledwidth="75%",align="center"]
   
   NOTE: You should understand the difference between a writer schema (the application that wrote the message) and a reader schema (the receiving application).
   We suggest taking a moment to read https://avro.apache.org/docs/1.7.6/spec.html[the Avro terminology] and understand the process.
  
positive.code: * *Destination Bindings:* Bridge between the external messaging systems and application provided _Producers_ and _Consumers_ of messages (created by the Destination Binders).
  * *Message:* The canonical data structure used by producers and consumers to communicate with Destination Binders (and thus other applications via external messaging systems).
  
  image::SCSt-overview.png[width=800,scaledwidth="75%",align="center"]
  
  === Destination Binders
  
  
negative.code: Partitioning can thus be used whether the broker itself is naturally partitioned (for example, Kafka) or not (for example, RabbitMQ).
  
  .Spring Cloud Stream Partitioning
  image::{github-raw}/docs/src/main/asciidoc/images/SCSt-partitioning.png[width=800,scaledwidth="75%",align="center"]
  
  Partitioning is a critical concept in stateful processing, where it is critical (for either performance or consistency reasons) to ensure that all related data is processed together.
  For example, in the time-windowed average calculation example, it is important that all measurements from any given sensor are processed by the same application instance.
  