Spring Cloud Reviews 2021: Details, Pricing, & Features | G2

¿Te gustaría aprender Carrera Desarrollador microservicios en la nube con Java?
Tenemos los cursos que necesitas. ¡Haz clic aquí!

Spring Cloud proporciona herramientas para que los desarrolladores creen rápidamente algunos de los patrones comunes en sistemas distribuidos (por ejemplo, administración de configuración, descubrimiento de servicios, disyuntores, enrutamiento inteligente, micro-proxy, bus de control, tokens de un solo uso, bloqueos globales, elección de liderazgo, distribución sesiones, estado del clúster). La coordinación de sistemas distribuidos conduce a patrones de placas de calderas, y los desarrolladores de Spring Cloud pueden implementar rápidamente servicios y aplicaciones que implementan esos patrones. Funcionarán bien en cualquier entorno distribuido, incluida la propia computadora portátil del desarrollador, los centros de datos bare metal y las plataformas administradas como Cloud Foundry.

Características

Spring Cloud se enfoca en brindar una buena experiencia lista para usar para casos de uso típicos y un mecanismo de extensibilidad para cubrir otros.

  • Configuración distribuida / versionada
  • Registro y descubrimiento de servicios
  • Enrutamiento
  • Llamadas de servicio a servicio
  • Balanceo de carga
  • Rompedores de circuito
  • Cerraduras globales
  • Elección de liderazgo y estado del clúster
  • Mensajería distribuida
Microservices — Centralized Configuration with Spring Cloud | by Isuru  Jayakantha | Medium

Generando un nuevo proyecto de Spring Cloud

La forma más fácil de comenzar es visitar start.spring.io , seleccionar su versión de Spring Boot y los proyectos de Spring Cloud que desea usar. Esto agregará la versión correspondiente de Spring Cloud BOM a su archivo Maven / Gradle cuando genere el proyecto.

Agregar Spring Cloud a una aplicación Spring Boot existente

Si tiene una aplicación Spring Boot existente que desea agregar Spring Cloud a esa aplicación, el primer paso es determinar la versión de Spring Cloud que debe usar. La versión que use en su aplicación dependerá de la versión de Spring Boot que esté usando.

La siguiente tabla describe qué versión de Spring Cloud se asigna a qué versión de Spring Boot.

Tren de lanzamientoVersión de arranque
2020.0.x también conocido como Ilford2.4.x
Hoxton2.2.x, 2.3.x (comenzando con SR5)
Greenwich2.1.x
Finchley2.0.x
Edgware1.5.x
Dalston1.5.x
Spring Cloud Dalston, Edgware y Finchley han alcanzado el final de su vida útil y ya no son compatibles.

Se agregan correcciones de errores y funciones compatibles con versiones anteriores a cada tren de lanzamiento a través de un lanzamiento de servicio (SR). Una vez que determine qué versión de Spring Cloud usar, debe usar la última versión de servicio para ese tren de lanzamiento. Puede encontrar la información más reciente sobre la versión del servicio en nuestra página de notas de la versión .

Ahora que sabe qué tren de versiones usar y la última versión de servicio para ese tren de versiones, está listo para agregar Spring Cloud BOM a su aplicación.

<properties>
    <spring.cloud-version>Hoxton.SR8</spring.cloud-version>
</properties>
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring.cloud-version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
buildscript {
  dependencies {
    classpath "io.spring.gradle:dependency-management-plugin:1.0.10.RELEASE"
  }
}

ext {
  set('springCloudVersion', "Hoxton.SR8")
}


apply plugin: "io.spring.dependency-management"

dependencyManagement {
  imports {
    mavenBom 'org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}'
  }
}
El tren de liberación contiene tanto un spring-cloud-dependenciesarchivo spring-cloud-starter-parent. Puede usar el padre como lo haría spring-boot-starter-parent(si está usando Maven). Si solo necesita administración de dependencias, la versión de “dependencias” es una versión solo BOM de lo mismo (solo contiene administración de dependencias y no declaraciones de complementos o referencias directas a Spring o Spring Boot). Si está utilizando el POM principal de Spring Boot, puede utilizar el BOM de Spring Cloud. Lo contrario no es cierto: usar el padre de Cloud hace que sea imposible, o al menos poco confiable, usar también Boot BOM para cambiar la versión de Spring Boot y sus dependencias.
Quick Guide to Microservices with Spring Boot 2.0, Eureka and Spring Cloud  – Piotr's TechBlog

Al igual que Spring Boot, muchos proyectos de Spring Cloud incluyen iniciadores que puede agregar como dependencias para agregar varias características nativas de la nube a su proyecto. En muchos casos, muchas funciones se habilitan simplemente agregando el iniciador a su classpath. Los nombres de los principiantes están documentados dentro de los proyectos individuales. A continuación, se muestra un ejemplo de cómo agregaría un cliente Spring Cloud Config y un cliente Spring Cloud Netflix Eureka a su aplicación.

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-config</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
    ...
</dependencies>
dependencies {
  compile 'org.springframework.cloud:spring-cloud-starter-config'
  compile 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
  //...
}

Proyectos Principales

Configuración de Spring Cloud

Gestión de configuración externa centralizada respaldada por un repositorio git. Los recursos de configuración se asignan directamente a Spring, Environmentpero pueden ser utilizados por aplicaciones que no sean de Spring si se desea.

Spring Cloud Netflix

Integración con varios componentes de Netflix OSS (Eureka, Hystrix, Zuul, Archaius, etc.).

Spring Cloud Bus

Un bus de eventos para vincular servicios e instancias de servicio junto con mensajería distribuida. Útil para propagar cambios de estado en un clúster (por ejemplo, eventos de cambio de configuración).

Spring Cloud Cloudfoundry

Integra su aplicación con Pivotal Cloud Foundry. Proporciona una implementación de descubrimiento de servicios y también facilita la implementación de recursos protegidos SSO y OAuth2.

Agente de servicio abierto Spring Cloud

Proporciona un punto de partida para crear un intermediario de servicios que implemente la API de Open Service Broker.

Clúster de nubes de primavera

Elección de liderazgo y patrones de estado comunes con una abstracción e implementación para Zookeeper, Redis, Hazelcast, Consul.

Cónsul de Spring Cloud

Gestión de configuración y descubrimiento de servicios con Hashicorp Consul.

Spring Cloud Security

Brinda soporte para el cliente de descanso OAuth2 con equilibrio de carga y los relés de encabezado de autenticación en un proxy Zuul.

Spring Cloud Sleuth

Seguimiento distribuido para aplicaciones Spring Cloud, compatible con Zipkin, HTrace y seguimiento basado en registros (por ejemplo, ELK).

Flujo de datos de Spring Cloud

Un servicio de orquestación nativo de la nube para aplicaciones de microservicio componibles en tiempos de ejecución modernos. El DSL fácil de usar, la GUI de arrastrar y soltar y las API REST en conjunto simplifican la orquestación general de las canalizaciones de datos basadas en microservicios.

Spring Cloud Stream

Un marco de microservicios ligero impulsado por eventos para crear rápidamente aplicaciones que se pueden conectar a sistemas externos. Modelo declarativo simple para enviar y recibir mensajes usando Apache Kafka o RabbitMQ entre aplicaciones Spring Boot.

Aplicaciones Spring Cloud Stream

Las aplicaciones Spring Cloud Stream son aplicaciones Spring Boot listas para usar que brindan integración con sistemas de middleware externos como Apache Kafka, RabbitMQ, etc., utilizando la abstracción de aglutinante en Spring Cloud Stream.

Introduction to Spring Cloud

Tarea de Spring Cloud

Un marco de microservicios de corta duración para crear rápidamente aplicaciones que realizan cantidades finitas de procesamiento de datos. Declarativo simple para agregar características funcionales y no funcionales a las aplicaciones Spring Boot.

Iniciadores de la aplicación Spring Cloud Task

Los iniciadores de la aplicación Spring Cloud Task son aplicaciones Spring Boot que pueden ser cualquier proceso, incluidos los trabajos de Spring Batch que no se ejecutan para siempre, y terminan / se detienen después de un período finito de procesamiento de datos.

Spring Cloud Zookeeper

Gestión de configuración y descubrimiento de servicios con Apache Zookeeper.

Conectores de Spring Cloud

Facilita que las aplicaciones PaaS en una variedad de plataformas se conecten a servicios de backend como bases de datos y agentes de mensajes (el proyecto anteriormente conocido como “Spring Cloud”).

Arrancadores de Spring Cloud

Proyectos de inicio al estilo Spring Boot para facilitar la gestión de dependencias para los consumidores de Spring Cloud. (Se discontinuó como proyecto y se fusionó con los otros proyectos después de Angel.SR2.)

Spring Cloud CLI

Complemento Spring Boot CLI para crear aplicaciones de componentes Spring Cloud rápidamente en Groovy

Contrato de Spring Cloud

Spring Cloud Contract es un proyecto general que contiene soluciones que ayudan a los usuarios a implementar con éxito el enfoque de contratos impulsados ​​por el consumidor.

Spring Cloud Gateway

Spring Cloud Gateway es un enrutador inteligente y programable basado en Project Reactor.

Spring Cloud OpenFeign

Spring Cloud OpenFeign proporciona integraciones para las aplicaciones Spring Boot a través de la configuración automática y el enlace con Spring Environment y otros modismos del modelo de programación Spring.

Spring Cloud Pipelines

Spring Cloud Pipelines proporciona una canalización de implementación obstinada con pasos para garantizar que su aplicación se pueda implementar sin tiempo de inactividad y deshacerse fácilmente de algo que salga mal.

Función Spring Cloud

Spring Cloud Function promueve la implementación de la lógica empresarial a través de funciones. Admite un modelo de programación uniforme en todos los proveedores sin servidor, así como la capacidad de ejecutarse de forma independiente (localmente o en una PaaS).

Trenes de liberación

Spring Cloud es un proyecto paraguas que consta de proyectos independientes con, en principio, diferentes cadencias de lanzamiento. Para administrar la cartera, se publica una lista de materiales (BOM) con un conjunto seleccionado de dependencias del proyecto individual. 

Todas estas ventajas que hemos analizado son clave para crear microservicios, pues ya no es necesario instalar servidores de aplicaciones o tener configuraciones muy complejas.

¿Te gustaría aprender Carrera Desarrollador microservicios en la nube con Java?
Tenemos los cursos que necesitas. ¡Haz clic aquí!

About Author

NGuerrero

0 0 votos
Article Rating
Suscribir
Notificar de
guest
0 Comments
Comentarios.
Ver todos los comentarios
0
¿Te gusta este articulo? por favor comentax
()
x
Abrir chat
¿Quieres aprender a programar?
Hola 👋,
¿Te interesa información de nuestros cursos?