Spring Cloud Stream: The Future of Distributed Messaging and Stream Processing

Spring Cloud Stream is a framework for building highly scalable event-driven microservices connected with shared messaging systems.
The framework provides a flexible programming model built on already established and familiar Spring idioms and best practices, including support for persistent pub/sub semantics, consumer groups, and stateful partitions.
Binder Implementations
Spring Cloud Stream supports a variety of binder implementations, and the following table includes the link to the GitHub projects.
- RabbitMQ
- Apache Kafka
- Kafka Streams
- Amazon Kinesis
- Google PubSub (partner maintained)
- Solace PubSub+ (partner maintained)
- Azure Event Hubs (partner maintained)
- Apache RocketMQ (partner maintained)
The core building blocks of Spring Cloud Stream are:
- Destination Binders: Components responsible for providing integration with the external messaging systems.
- 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 producers and consumers use to communicate with Destination Binders (and thus other applications via external messaging systems).