Book Image

Spring Boot 2.0 Projects

By : Mohamed Shazin Sadakath
4 (1)
Book Image

Spring Boot 2.0 Projects

4 (1)
By: Mohamed Shazin Sadakath

Overview of this book

Spring Boot is a lightweight framework that provides a set of tools to create production-grade applications and services. Spring Boot 2.0 Projects is a comprehensive project-based guide for those who are new to Spring, that will get you up to speed with building real-world projects. Complete with clear step-by-step instructions, these easy-to-follow tutorials demonstrate best practices and key insights into building efficient applications with Spring Boot. The book starts off by teaching you how to develop a web application using Spring Boot, followed by giving you an understanding of creating a Spring Boot-based simple blog management system that uses Elasticsearch as the data store. Next, you’ll build a RESTful web services application using Kotlin and the Spring WebFlux framework - a new framework that enables you to create reactive applications in a functional way. Toward the last few chapters, you will build a taxi-hailing API with reactive microservices using Spring Boot, in addition to developing a Twitter clone with the help of a Spring Boot backend. To build on your knowledge further, you’ll also learn how to construct an asynchronous email formatter. By the end of this book, you’ll have a firm foundation in Spring programming and understand how to build powerful, engaging applications in Java using the Spring Boot framework.
Table of Contents (12 chapters)

Using Spring Kafka for communication

As explained in the previous section, an asynchronous application will use some kind of queue to hold received yet unprocessed requests till those requests are processed. For this purpose, an in-memory data structure, such as a Java ConcurrentLinkedQueue, can be used. But clearly, this method has limitations, as the queue exists only until the process exists and there is no reliability, durability, fault tolerance, and scalability. This is where message queues come in handy.

There are so many widely used message queues available in both free and open source form as well as proprietary form. The online website of Queues (http://queues.io/) lists many of these widely used queues and can be used as a reference guide to decide the perfect queue for an application.

In the application being developed, however, Apache Kafka will be used as the...