Book Image

Mastering Spring Boot 2.0

By : Dinesh Rajput
Book Image

Mastering Spring Boot 2.0

By: Dinesh Rajput

Overview of this book

Spring is one of the best frameworks on the market for developing web, enterprise, and cloud ready software. Spring Boot simplifies the building of complex software dramatically by reducing the amount of boilerplate code, and by providing production-ready features and a simple deployment model. This book will address the challenges related to power that come with Spring Boot's great configurability and flexibility. You will understand how Spring Boot configuration works under the hood, how to overwrite default configurations, and how to use advanced techniques to prepare Spring Boot applications to work in production. This book will also introduce readers to a relatively new topic in the Spring ecosystem – cloud native patterns, reactive programming, and applications. Get up to speed with microservices with Spring Boot and Spring Cloud. Each chapter aims to solve a specific problem or teach you a useful skillset. By the end of this book, you will be proficient in building and deploying your Spring Boot application.
Table of Contents (23 chapters)
Title Page
Copyright and Credits
Dedication
Packt Upsell
Contributors
Preface
Index

Event-driven architecture patterns


An event-driven architecture is a software architecture pattern that supports the production, deduction, consumption, and reaction to events. This is a commonly distributed architecture that is asynchronous and is used to develop highly scalable systems.

The main purpose of event-driven architecture patterns is to intercept the events and process them asynchronously. There are two types of topologies contained by event-driven architectures.

Mediator topology

Mediator topology contains a single event queue and a mediator that arranges for the events in the queue to be directed to their respective processors. The events are then passed through a filter or a preprocessor of events from an event channel.

The event queue can be implemented in the form of a simple message queue or an interface that passes messages in a large distributed system. The second form of implementation also requires the involvement of complex messaging protocols, such as Rabbit MQ, and Kafka...