This chapter will introduce the reader to asynchronous application development with Spring Boot 2.0 and explain how it can be used to develop decoupled, scalable application pipelines. We will begin by explaining what asynchronous application development is, and how to achieve asynchronous capabilities. Later, we will explain what Apache Kafka is and how to use Apache Kafka as a middle tier to achieve decoupling and scalability. Furthermore, we will explain what the Quartz Scheduler is and how to use it to achieve scheduled executions. Finally, we will demonstrate an image-resizing application that runs asynchronously and can be scaled.
The following topics will be covered in this chapter:
- Using Spring Kafka for communication
- Using Quartz for scheduling
- Demonstrating Image Resizer