Spring Cloud or Spring Boot? what is right spring project for developing Biz API's?

SpringForLiving picture SpringForLiving · Apr 6, 2015 · Viewed 19.2k times · Source

We are trying to build a new Business API layer in between UI and applications/services.

Which project in spring is best and will serve the needs for developing Biz Api's with restful services?

Is it Spring Cloud or Spring Boot?

Answer

spencergibb picture spencergibb · Apr 6, 2015

Spring Boot is app-centric. As @kryger said, Spring Cloud builds on boot. It solves higher level problems, such as:

  • Distributed configuration: How to configure every instance of all of your services (standard boot config files checked into git or svn and distributed via config server).
  • Service registration and discovery: how to locate a specific instance of a service (using Netflix Eureka)
  • Client Side load balancing: intelligently choose an instance of a service to use (using Netflix Ribbon) via a smart algorithm such as: round robin or response time
  • Plug into Ribbon via Spring Rest Template or Netflix Feign.
  • Serve all assets and api's via a proxy that is plugged into service discovery and load balancing (Netflix Zuul).
  • Stop cascading api failures with the Circuit Breaker pattern via Netflix Hystrix and visualize the health of all circuits with the Hystrix Dashboard.
  • Send commands to all or some services via a lightweight message bus.
  • Use oauth2 to protect resources
  • and other things I've probably forgotten.