Skip to content

Book-Microservices-v3/chapter07

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Learn Microservices with Spring Boot 3 - Chapter 7

This repository contains the source code of the practical use case described in the book Learn Microservices with Spring Boot 3 (3rd 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.

Chapter 7 version

In Chapter 7, you learn how to achieve loose coupling with an Event-Driven Architecture using a RabbitMQ message broker. Besides, you go through the extra advantages like the ability to implement different messaging patterns, load balancing, and resilience.

Logical View - Chapter 7

The main concepts included in this chapter are:

  • Event-Driven Architectures: Pros and Cons
  • Embracing Eventual Consistency, all the way up to the UI
  • RabbitMQ main concepts, messaging patterns, and practical implementation
  • Refactoring the microservices towards an Event-Driven strategy
  • Resilience with persistent messages

As usual, the book uses this practical implementation to teach you why introducing a message broker between our microservices is a good idea. You learn the patterns before the tools, so you can use your knowledge to build similar architectures using a different technology stack - e.g. Kafka.

Running the app

Requirements:

  • JDK 17
  • Node.js v18.16.0
  • npm 9.7.1
  • RabbitMQ 3.12.2
  1. You need a RabbitMQ server running. Run the server according to the instructions for your OS, for example:
    $ rabbitmq-server
  2. To start the Multiplication microservice, you can use the command line with the included Maven wrapper:
    multiplication$ ./mvnw spring-boot:run
  3. To start the Gamification microservice, you do the same from its corresponding folder:
    gamification ./mvnw spring-boot:run
  4. The React application can be started with npm. First, you need to download the dependencies with:
    challenges-frontend$ npm install
  5. Then, you start the server with:
    challenges-frontend$ npm start

Once the backend and the fronted are started, you can navigate to http://localhost:3000 in your browser and start resolving multiplication challenges. This time, you'll see the Leaderboard.

Application - Screenshot

Questions

  • Do you have questions about how to make this application work?
  • Did you get the book and have questions about any concept explained within this chapter?
  • Have you found issues using updated dependencies?

Don't hesitate to create an issue in this repository and post your question/problem there.

Purchase

You can buy the book online from these stores:

About

Learn Microservices with Spring Boot 3 (3rd edition) - Chapter 7

Topics

Resources

Stars

Watchers

Forks

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy