Learn Microservices with Spring Boot (2nd edition) - Chapter 8 - 1/4
This repository contains the source code of the practical use case described in the book Learn Microservices with Spring Boot (2nd Edition).
The book follows a pragmatic approach to building a Microservice Architecture. You start with a small monolith and examine the pros and cons that come with a move to microservices.
The Chapter 8’s source code is divided into four parts for a better understanding of how the system evolves when we start introducing Common Patterns in Microservice Architectures.
In this first part, we introduce the Gateway pattern, that helps abstracting the internal architecture from the outside by routing external requests to the corresponding microservice. In the next iteration (2/4), we’ll also add Service Discovery and Load Balancing.
The main concepts included in this first part of the chapter are:
As usual, the book follows a hands-on approach, so you learn everything based on this microservice case study.
Check the Book’s Web Page to see the complete list of chapters.
Requirements:
$ rabbitmq-server
multiplication$ ./mvnw spring-boot:run
gamification ./mvnw spring-boot:run
gamification ./mvnw spring-boot:run
challenges-frontend$ npm install
challenges-frontend$ npm start
Note:
In the final version of our code, we use Docker to start our complete system easily. However, it’s not yet introduced at this point in the book, so we’re starting all these components manually.
Once the backend and the fronted are started, you can navigate to http://localhost:3000
in your browser and start resolving multiplication challenges. From the user’s perspective, there are no differences between this version and the one we completed in Chapter 7. We do know that all requests are now going through the Gateway service, and we gained some new advantages as detailed in the book.
Don’t hesitate to create an issue in this repository and post your question/problem there.
Are you interested in building a microservice architecture from scratch? You’ll face all the challenges of designing and implementing a distributed system one by one, and will be able to evaluate if it’s the best choice for your project.
Visit https://tpd.io/book-extra for all the details about the book.
You can buy the book online from these stores:
Extra chapters: