finds.dev← search

// the find

crossoverJie/springboot-cloud

★ 477 · Java · MIT · updated Nov 2018

:two_men_holding_hands: springboot + springcloud build micro service

A Spring Boot + Spring Cloud tutorial project demonstrating microservices patterns: Eureka service registry, Feign declarative HTTP clients, Zuul gateway, Hystrix circuit breakers, and Redis-backed rate limiting. Aimed at Java developers learning the Netflix OSS stack circa 2017-2018. Not production code — it's a learning reference.

The module structure is clean and pedagogically sensible: common library, two domain services (user/order), gateway, and circuit breaker dashboard are each their own Maven module. The `sbc-request-check` idempotency starter is a nice touch — packaging duplicate-request detection as a reusable Spring Boot starter with `spring.factories` autoconfiguration is exactly how you'd do it properly. The accompanying blog posts (linked in the TODO list) give the 'why' behind each commit, which most tutorial repos skip entirely. The separation between API modules (interfaces only) and client modules (Feign clients) keeps service contracts honest.

Everything here is end-of-life: Netflix Zuul 1.x, Ribbon, Hystrix, and Eureka are all in maintenance mode or dead, replaced by Spring Cloud Gateway, Resilience4j, and Kubernetes service discovery. Anyone adopting this pattern today is building on a stack they'll rewrite in two years. Last commit was November 2018 — nearly eight years ago — so the Spring Boot and Spring Cloud versions predate dozens of breaking changes. There are no tests worth running: the test classes are placeholder stubs with no assertions. The hardcoded service ports in properties files (8080, 8181, etc.) and the lack of any Docker Compose or containerization story makes local setup a multi-step manual process.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →