// the find
joshlong/bootiful-microservices
A hands-on lab for building microservices with Spring Boot and Spring Cloud. The same reservation example is kept in separate directories (angel, brixton, camden), each on a different Spring Cloud release, and it is aimed at developers learning the 2016 to 2017 Spring Cloud Netflix stack rather than anyone starting a service today.
- The three release snapshots are the most useful part. Diffing angel against camden shows how config, discovery and the client changed between Spring Cloud releases, which a single current tutorial cannot show.
- One repo covers a full service topology: a config server reading from a checked-in config-repo, Eureka for discovery, a reservation service with a client, a Hystrix dashboard, and Zipkin for tracing. Each piece is small enough to read in one sitting.
- Deployment is in the repo rather than only in prose. Each variant has cf.sh scripts and per-service manifest.yml files for pushing to Cloud Foundry, so the deploy path can be read and rerun.
- Everything is pinned to Spring Boot 1.x and the Angel, Brixton and Camden Spring Cloud releases, none of which are maintained now. Treat it as reading material, not a base for a new service.
- The Hystrix dashboard is built around Hystrix, which has been in maintenance mode since late 2018. Teaching resilience with it today means teaching a library you would not choose for a new project.
- The README describes a 2017 setup: Java 8, the Spring Boot CLI, and a Pivotal Web Services account for deployment. Following it today means working around old tooling rather than learning the current workflow.
- The README is a list of setup steps with little explanation of why the three versions differ or what failure modes the lab is meant to show. The design reasoning has to be reconstructed from the code.