This repo demonstrates a simple Spring Boot microservice cloud that utilzies:
- Webflux
- R2JDBC
- Eureka Service Discovery
- Spring Config Server
- Resilience4J Circuit Breaker
It is composed of 5 applications:
- Parent - The edge service that provides the core API to clients. Has two endpoints
fetch
andping
. Calls ChildOne and ChildTwo using WebFlux and Resilience4J. - Child One - Represnets an internal service that's backed by an Postgres DB using R2JDBC
- Child Two - Represents a second internal service with an hard coded response.
- Eureka - The service discovery server
- Config - the configuration server with configurations stored at https://github.com/mmtondreau/spring-boot-config
make clean all
curl 'localhost:8080/fetch'
{"childOne":[{"data":"a"},{"data":"b"},{"data":"c"},{"data":"d"},{"data":"e"},{"data":"f"},{"data":"g"},{"data":"h"},{"data":"Blarp-o-o-000"}],"childTwo":[{"data":21},{"data":23},{"data":67}]}