Microservice Architecture With Spring Cloud
A catalog and sales order management system is commonly used by companies to manage their catalog and capture their sales data ...
https://www.czetsuyatech.com/2019/06/spring-microservice-architecture.html
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.
- 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
- 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.
- 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
Course Outline
- https://github.com/orgs/broodcamp
- https://github.com/orgs/terawarehouse
- https://github.com/terawarehouse/terawarehouse-react
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.
- Brief Introduction
- Spring Development Environment
- Create a RESTful Web Service in Spring
- Localization and Swagger Documentation
- Committing the Source Code on Github
- Database Modelling and Tools
- Spice your Java with Lombok
- Working with Spring Data Repositories
- Database Initialization Using Code
- Database Initialization Using Script
- Database Initialization Using Liquibase
- Spring Repository Unit Testing
- Spring Boot RESTful API
- Spring Boot RESTful API - CRUD Annotations
- Spring Boot RESTful API - Request Validation
- Spring Boot RESTful API - HATEOAS
- Spring Boot RESTful API - Response Filtering
- Spring Boot RESTful API - Exception Handling
- Spring Boot RESTful API - Versioning
- Spring Boot RESTful API - Spring Data JPA
- How to Monitor, Audit and Gather Metrics on a Spring Boot Application
- Spring Boot System and Service Monitoring with Prometheus and Grafana
- Catalog and Sales Order Management System Microservice Architecture
- Microservice - Spring Cloud Configuration Server Using a GIT Store
- Microservice - Spring Cloud Netflix Eureka Service Registry
- Microservice - Spring Cloud Zuul Reverse Proxy as Service Gateway
- Microservice Incrementing our Project's Architecture
- Microservice: Declarative Rest Client with Spring Cloud OpenFeign
- Microservice The API Composer Design Pattern
- Microservice Routing and Filtering with Spring Cloud Zuul
- Spring Boot Microservice Implement a Circuit Breaker Pattern using Netflix Hystrix
- Microservice: Fault Tolerant Circuit Breaker Design Pattern With Hystrix
- Distributed Log Tracing in Microservices using Spring Cloud Sleuth and Zipkin
Post a Comment