The following figure shows an architecture of a typical Spring Cloud Stream microservice. A source would only have an input channel, the processor would have both the input and output channel, and a sink would have only an output channel:
Applications declare what kind of connection they would want--an input and/or an output. Spring Cloud Stream will establish all that would be needed to connect applications over the message broker.
Spring Cloud Stream would do the following:
- Inject the input and/or output channels into the application
- Establish connections with the message broker through a message=broker-specific ...