The common data transfer objects, being re-used in other projects
Customer facing edge application. Interacts with two other microservices
- Promo services (shopping-cart-promo). Customer edge uses Feign client to consume this recommandation service. Ribbon performs client side load balancing and gets json from best fitting
promo
service instance after lookup to Eureka. In case of failure of all service instances it falls back to default promos thankx to Hystrix circuit breaker. - Product service (shopping-cart-store). Customer edge uses Feign client to consume this service. Ribbon performs client side load balancing and gets product data from best fitting
store
service instance after lookup to Eureka.
Manages service registration and discovery. Lists all available instances for store
, promo
etc services
Keeps eyes on instances and their health (cpu, load, requests etc.). Breaks circuit in case of instance is failing requests too frequently or down for sometime. Collects event data from Turbine
REST servce to provide today's promotions based on recommandation algorithm
REST service connected to the product database. Servers product listing queries.
Collects SSE generated by all modules using Actuator
- Eureca server dashboard - http://localhost:8761/
- Hystrix dashboard - http://localhost:3001/hystrix
- Turbine stream - http://localhost:8989/turbine.stream
- Customer edge - http://localhost:3000/
- Recommendation engine
promo
- http://localhost:3002/promos - Data store
store
- http://localhost:3003/products