Spring Cloud and Turbine

In this article, we'll introduce you to Spring Cloud Netflix Turbine. It aggregates multiple Hystrix Metrics Streams into one, so that it could be displayed into a single dashboard view.

To give a small introduction to Hystrix. In a microservice architecture, we have many small applications that talk to each other to complete a request.

Spring Cloud Stream + RabbitMQ

In this example, we'll use Spring Cloud Stream and RabbitMQ. Integrating Spring Boot Applications with Messaging Systems like Apache Kafka and RabbitMQ.

If you look at these examples these required a lot of configuration code which was Broker specific. For example, in the case of RabbitMQ integration with Spring Boot, we had to write code to create AmqpTemplate Template and Bindings. So if tomorrow the Messaging System changes we will also need to make application code changes.

Spring Cloud Stream + Apache Kafka

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.

Spring Batch — Decider

In this tutorial, we'll learn how to make the use of JobExecutionDecider.  This Interface allowing for programmatic access to the decision on what the status of a flow should be. 

For example, if some condition that's stored in the database indicates that the job should stop for a manual check, a decider implementation could check that value to determine the status of the flow.