Well written microservices obey the laws of domain driven design, one of which is finding a ubiquitous language to describe their abstractions accurately.
Functional and reactive APIs provide the best language for building event-driven microservices that operate over continuous streams of events or data, whether for data movement, analytics, ES/CQRS or more traditional enterprise integration.
We will explore with live coding examples the newly added reactive programming support in Spring Cloud Stream, based on the same foundation as Spring 5: Project Reactor. We will see how it complements and enriches the ability to write event-driven microservices that can transparently implement high-level primitives such as consumer groups and partitioning with messaging systems such as RabbitMQ, Kafka or Google PubSub, and how to integrate with other layers, such as Spring Reactive Web. We will also show how to use Reactive Streams clients, such as Reactive Kafka for building end to end reactive applications.
Finally, we will show you how to chain the microservices in complex pipelines that can be seamlessly deployed on Cloud Foundry, Kubernetes or Mesos, using Spring Cloud Data Flow.
Marius Bogoevici is a software engineer at Pivotal, leading Spring Cloud Stream, and working on Spring Cloud Data Flow, Spring XD, and other Spring projects. Marius is co-author of “Spring Integration in Action” (Manning, 2012)
Mark Pollack has been a core Spring (Java) developer since 2003, founded its Microsoft counterpart, Spring.NET, in 2004 and led the Spring Data from project 2011 to 2014. He now co-leads the Spring XD project that aims to simplify Big Data application development involving event streams, ETL, and Hadoop. Mark is co-author of the Spring Data book by O’Reilly Media.