Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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?

like image 701
SpringForLiving Avatar asked Apr 06 '15 13:04

SpringForLiving


People also ask

What is the difference between Spring Boot and spring Cloud?

Spring Boot is a Java-based open-source framework for developing services. Its major goal is to cut down on development and testing time. Their apps don't need as much Spring setup as other Spring applications. Spring Cloud is a tool for centralizing form management.

Is spring Cloud used for microservices?

Spring Cloud Stream makes it easy to consume and produce events, no matter which messaging platform you choose. Spring Cloud Stream connects your microservices with real-time messaging in just a few lines of code, to help you build highly scalable, event-driven systems.

Why should we use spring Cloud?

Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems (e.g. configuration management, service discovery, circuit breakers, intelligent routing, micro-proxy, control bus, one-time tokens, global locks, leadership election, distributed sessions, cluster state).

Is spring Cloud included in Spring Boot?

Spring boot is a java based framework to work con auto-configuration in Web Application. Spring cloud is part of Spring boot, where Spring boot is Stand Alone, App – Centric Application framework. The main purpose of Spring Cloud maintains the traffic of the network.


1 Answers

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.
like image 160
spencergibb Avatar answered Oct 06 '22 13:10

spencergibb