no

Learn Microservice with Spring Cloud

A catalog and sales order management system is commonly used by companies to manage their catalog and capture their sales data ...



A catalog and sales order management system is commonly used by companies to manage their catalog and capture their sales data into a centralized database so that a real-time accurate report can be generated instantly. This application can trigger notification such as low on stock which allows the company to act as needed.

In this exercise, we will use the power of Spring + RESTful Web Services to develop the system. We will also architect the application to use a microservice approach which allows for more modular development. We will separate the catalog and sales system into two separate microservices having their own database. Thus, there will be a problem in reporting which we will address using API Composition and Saga Pattern.

Once we are done with the RESTful web services, we will create a simple front end application secured by Keycloak to show some reports.

And finally, we will dockerize the services and managed using Kubernetes. We will also attempt to deploy the application on Amazon Web Services using a docker-compose and Amazon EKS.

Keywords: catalog and sales order management system, spring, microservice, rest api, continuous deployment, docker, kubernetes, saga pattern, api composition, feign, zuul, eureka, ribbon, hystrix, amazon, sleuth, zipkin, grafana, prometheus, keycloak, hateoas, liquibase, flyway, elasticsearch, travis, axon

What you’ll learn:
  • You will be able to learn the various tools that make programming easier in Spring.
  • You will learn how to design and develop RESTful web services and take advantage of Spring REST JPA.
  • You will learn how to monitor the metrics, threads, etc by using the spring admin server.
  • You will learn how to implement resource localization and documenting RESTful web services using Swagger.
  • You will be able to understand and implement HATEOAS, exception handling, filtering, validation, and versioning of RESTful web services.
  • You will learn how we can monitor and test RESTful web services using actuator and HAL browser.
  • You will learn how to design a database schema and the tools we can use to make the job easier.
  • You will learn the different ways in which we can populate and maintain the database schema and data.
  • You will learn the basics of microservice architecture and how we can apply it to our project.
  • You will learn the API Composition VS Saga pattern in action.
  • You will learn how to use the AxonIO framework to implement the Saga pattern.
  • You will learn how to create a configuration server.
  • You will learn client-side load balancing using Ribbon.
  • You will learn how to scale dynamically with the Eureka discovery server and Zuul API Gateway.
  • You will learn how to handle fault tolerance using Hystrix.
  • You will learn how to simplify the creation of RESTful API clients using Feign.
  • You will learn how to implement distributed tracing using Sleuth and Zipkin.
  • You will learn how to monitor web services using Grafana and Prometheus.
  • You will learn how to integrate Elasticsearch to implement search.
  • You will learn to create a simple React application.
  • You will learn how to integrate Keycloak to secure web services.
  • You will learn how to containerized the services using docker and run using docker-compose.
  • You will learn how to automate the deployment, scaling, and management of containers.
  • You will learn continuous integration using Travis.
  • You will learn container deployment on Amazon EKS.
Course requirements or prerequisites:
  • Amazon web service account
  • Github account
  • Knowledge of the following
    • GIT
    • Maven
    • SpringToolSuite
    • Experience with Java and Spring
    • Keycloak
    • API Composition, Saga Pattern, Event Sourcing, and CQRS
Who this course is for?
  • You want to learn how to develop a catalog and sales management system using the Spring technology stack.
  • You want to leverage the microservice architecture in developing a project.
What you’ll learn:
  • You will be able to learn the various tools that make programming easier in Spring.
  • You will learn how to design and develop RESTful web services and take advantage of Spring REST JPA.
  • You will learn how to monitor the metrics, threads, etc by using the spring admin server.
Repositories
Join our Group
Join my czetsuya tech community site to Get Answers to Questions about programming, home-based work, anything about tech and to connect and share information.
Course Outline
  1. Brief Introduction
  2. Spring Development Environment
  3. Create a RESTful Web Service in Spring
  4. Localization and Swagger Documentation
  5. Committing the Source Code on Github
  6. Database Modelling and Tools
  7. Spice your Java with Lombok
  8. Working with Spring Data Repositories
  9. Database Initialization Using Code
  10. Database Initialization Using Script
  11. Database Initialization Using Liquibase
  12. Spring Repository Unit Testing
  13. Spring Boot RESTful API
  14. Spring Boot RESTful API - CRUD Annotations
  15. Spring Boot RESTful API - Request Validation
  16. Spring Boot RESTful API - HATEOAS
  17. Spring Boot RESTful API - Response Filtering
  18. Spring Boot RESTful API - Exception Handling
  19. Spring Boot RESTful API - Versioning
  20. Spring Boot RESTful API - Spring Data JPA
  21. How to Monitor, Audit and Gather Metrics on a Spring Boot Application
  22. Spring Boot System and Service Monitoring with Prometheus and Grafana
  23. Catalog and Sales Order Management System Microservice Architecture
  24. Microservice - Spring Cloud Configuration Server Using a GIT Store
  25. Microservice - Spring Cloud Netflix Eureka Service Registry
  26. Microservice - Spring Cloud Zuul Reverse Proxy as Service Gateway
  27. Microservice Incrementing our Project's Architecture
  28. Microservice: Declarative Rest Client with Spring Cloud OpenFeign
  29. Microservice The API Composer Design Pattern
  30. Microservice Routing and Filtering with Spring Cloud Zuul
  31. Spring Boot Microservice  Implement a Circuit Breaker Pattern using Netflix Hystrix
  32. Microservice: Fault Tolerant Circuit Breaker Design Pattern With Hystrix
  33. Distributed Log Tracing in Microservices using Spring Cloud Sleuth and Zipkin

Related

youtube-playlist 1324518988896894130

Post a Comment Default Comments

item