Global Event Streams Made Simple with Spring Cloud Stream & Cloud Pub/Sub
Asynchronous, loosely coupled integrations of services through a publish-subscribe messaging system have taken many a distributed application through a growth spurt. Of course, Spring messaging APIs have supported this pattern for years. What is new is the emergence of Pub/Sub services that abstract the transport of messages and Spring Cloud binders that allow you take advantage of these services for the underlying API implementation. This talk is about the Google Cloud Pub/Sub binder for Spring Cloud Stream. It is significant because Cloud Pub/Sub is a global service, making it possible for you to move your applications -- both data producers and consumers -- around the world without changes to application logic or worries about how data might be exchanged reliably. The integration also makes it possible to take complement your Spring app with useful Google services integrated with Pub/Sub, including GCP IoT Core as a data source or Cloud Functions and Cloud Dataflow for scalable event processing. We will cover some common use cases and architectures as well as the realities of relying on an external service for message transport.