Summary

Congratulations on completing this chapter, where the skills and knowledge required to build an asynchronous, scalable producer-consumer application were discussed. This chapter started off by explaining what a synchronous application is and what an asynchronous application is. 

This chapter also talked about how asynchronous applications can enable decoupling and scalability by using an intermediate queue. We discussed in-memory queues provided out of the box by Java as well as advanced queues such as Apache Kafka that enable fault tolerance, clustering, and scalability while giving high performance.

Furthermore, we explained how to write producers and consumers for Apache Kafka using the Spring Kafka library, which enables acknowledgment of message sending via replies. Spring Kafka does a lot of heavy lifting with auto-configuration so that it is easier to develop.

Subsequently, this chapter talked about Quartz and how to use it schedule Image Resize Request Producer to run periodically to pick up images that need to be resized and queue those in the Apache Kafka topic.

Eventually, this chapter talked about how to run Zookeeper and Apache Kafka and then demonstrated the use of Image Resize Request Producer and Image Resize Request Consumer running periodically and resizing images. We'll learn more on some interesting features of Spring Boot 2.0 in the upcoming chapters.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.138.116.20