In this series of liveProjects, you’ll build a complete message notification system from scratch using Spring Boot and a microservices architecture. Stepping into the role of a software engineer working for a bank, you’ll design and implement a solution to handle the high-volume traffic of the bank’s notification management platform. You’ll get hands-on experience building microservices around event handling concepts and implementing service resiliency patterns. Complete every project in this series, and you’ll be ready to start creating loosely coupled and highly cohesive microservices.
In this liveProject, you’ll build the foundational notification services for a bank’s new notification management platform. Rather than build one single monolithic service, you’ll establish four separate microservices to handle notification preferences, notification formatting, the notification gateway that dispatches emails or SMS messages, and the application that orchestrates all of these functions. You’ll leverage Spring Boot and other Java services to help you create these microservices, which will form the bedrock of an entire notification platform.
In this liveProject, you’ll implement Service Discovery and Registry Modules so that the services of a bank’s notification management platform can dynamically register and be available for other services to discover at runtime. You’ll make use of the Spring Cloud Registry to register your services before you configure healthy endpoints and set up discovery.
In this liveProject, you’ll set up and configure a Spring Cloud Gateway to act as an entry point for applications to connect to a notification management platform. Spring Cloud Gateway provides a flexible way of routing requests based on criteria, and focuses on cross-cutting concerns such as security, resiliency, and monitoring. It’s the perfect API gateway to implement complexity separately from the client.
In this liveProject, you’ll leverage the Spring Cloud Resiliency libraries to improve the fault tolerance of the microservices that make up a notification management platform. You’ll work to ensure that each microservice can easily recover from failure, avoiding cascading failures and guaranteeing that other microservices in the system will be unaffected by any individual failure.
In this liveProject, you’ll use powerful libraries like Spring Cloud Library Sleuth, Zipkin, and Actuator to help find and debug an error in the microservices of a notification management platform. The distributed nature of microservices makes them challenging to debug, and finding where a problem occurs can be maddening. You’ll set up monitoring services that can use correlation IDs to link together transactions across multiple services, aggregate log data from various services into a single searchable source, and visualize the flow of a user transaction across multiple services.
This liveProject is for intermediate Java programmers who know the basics of Core Java and Spring Boot. To begin this liveProject, you will need to be familiar with the following:
In this liveProject, you’ll learn to implement microservices using Spring.