This project demonstrates Microservice Architecture pattern using Spring Boot, Spring Cloud, Spring Secuirty and Docker.
This will maintain the all instances of business services, client API gateway and also all other instances
of eureka service discovery in the cluster.
This will have the list of all instances of eureka service discovery which will be maintained in any revision
control system. Here, we used “github” so that we can dynamically change eureka server instance in case of any
modification in the service discovery cluster. No need to re-start the cluster, dynamically cluster will get
refreshed on modification in “github
Any request from client will be re-directed to actual business through ZUUL Proxy. The following steps involved
in redirecting to the actual business service url.
1. ZUUL contacts the “Config Server” to know the instances of the Service Discovery.
2. ZUUL will be provided the actual business service url by the Eureka. Here, Eureka will perform load
balance using “Ribbon” before providing the actual url.
3. Finally, ZUUL will contact the actual business service url and redirect the response of the respective
service to the requested client
We can monitor all the requests to the business services by using the “Hystrix Turbine Stream”. This will give
clear picture of all the requests information like how many got passed, how many got failed, how many still
processing etc. for a specific period of time.
It offers the following functionality by using Embedded H2 Database.
1. GET /productCatalogueService/products – gives the list of all products
2. GET /productCatalogueService/searchbyIds – gives the list of products for matching name,type
4. POST /productCatalogueService/products – saves the given product
5. DELETE /productCatalogueService/products/{id} – delete the given product
It offers the following functionality by using Embedded H2 Database.
1. GET /pricingService/products/checkOut/generateItemizedBill
The above method generates the itemized bill for the requested products. This method first
contact the “Product Catalogue Service” to get the product details for given product id (This has been
called using “load-balancer-client”). Then, calcaulate the bill for the product list.
[ELK Set up in Docker Toolbox] (https://github.com/kranthiB/microservices_with_spring_boot_cloud_security/blob/master/ELK/README.md)
[Build Continuous Deployment with Jenkins and docker] (https://github.com/kranthiB/Build-Continuous-Integration-with-Jenkins-and-Dokcer/blob/master/README.md)