Spring Cloud概述

Spring Cloud概念入门

一、定义概念

Spring Cloud 是一个服务治理平台,提供了一些服务框架,包含了:服务注册与发现、配置中心、消息中心、负载均衡、数据监控等内容。

Spring Cloud 是一个微服务框架,相比Dubbo等RPC框架,Spring Cloud提供了全套的分布式系统解决方案。

Spring Cloud 对微服务基础框架Netflix的多个开源组件进行了封装,同时又实现了和云端平台以及Spring Boot框架的集成。

Spring Cloud 是一个基于Spring Boot 实现的云应用开发工具,它为开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式对话和集群状态管理等操作提供了一种简单的开发方式。

Spring Cloud 为开发者提供了快速构建分布式系统的工具,开发者可以快速的启动服务或构建应用,同时能够快速和云平台资源进行对接。微服务是可以独立部署、水平扩展、独立访问(可以拥有独立的数据库)的服务单元,Spring Cloud 就是这些微服务的大管家,采用了微服务这种结构之后,项目的数量会非常多,Spring Cloud 作为大管家需要管理这些微服务,自然需要很多小弟来帮忙。

二、子项目

![Spring Cloud](C:UsersjakeDesktopSpring Cloud.png)


Spring Cloud Netflix 第一代

Netflix Eureka:一个基于Rest服务的服务治理组件,包括服务注册中心、服务注册与服务发现机制的实现,实现了云端负载均衡和中间层服务器的故障转移。

Netflix Hystrix:容器管理工具,实现熔断器模式,通过控制服务的节点,从而对延时故障提供更大的容错能力。

Netflix Ribbon:客户端负载均衡的服务调用组件。

Netflix Feign:基于Ribbon和Hystrix的声明式服务调用组件。

Netflix Zuul:微服务网关,提供动态路由,访问过滤等服务。

Netflix Archalus:配置管理API,包括一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询安全配置操作、轮询框架、回调机制等功能。

Spring Cloud Alibaba 第二代

Nacos:阿里巴巴开源产品,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

Sentinel:面向分布式服务架构的轻量级流量控制产品,把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

RocketMQ:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。

Dubbo:Apache Dubbo是一款高性能的Java RPC框架。

Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。

Alibaba Cloud ACM:一款在分布式架构环境中对应用配置进行集中管理和推送的应用配置中心产品。

Alibaba Cloud OSS:阿里巴巴对象存储服务,是阿里云提供的海量、安全、低成本、高可用的云存储服务。可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。

Alibaba Cloud SchedulerX:阿里中间件团队开发的一款分布式任务调度产品,提供秒级、精准、高可靠、高可用的定时任务调度服务。

Alibaba Cloud SMS:覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。

Spring Cloud Netflix Spring Cloud 官方 Spring Cloud Zookeeper Spring Cloud Consul Spring Cloud Kubernetes Spring Cloud Alibaba
分布式配置 Archaius Spring Cloud Config zookeeper consul ConfigMap Nacos
服务注册/发现 Eureka - zookeeper consul API Server Nacos
服务熔断 Hystrix - - - - Sentinel
服务调用 Feign OpenFeign RestTemplate - - - Dubbo RPC
服务路由 Zuul Spring Cloud Gateway - - - Dubbo PROXY
分布式消息 - SCS RabbitMQ - - - SCS RocketMQ
负载均衡 Ribbon - - - - Dubbo LB
分布式事务 - - - - - Seata
常用组件

Spring Cloud Netflix Eureka:服务注册中心。

Spring Cloud Netflix Ribbon:客户端负载均衡。

Spring Cloud Netflix Hystrix:服务容错保护。

Spring Cloud Netflix Feign:声明式服务调用。

Sprong Cloud OpenFeign(可替代Feign):OpenFeign是Spring Cloud在Feign的基础上支持了Spring MVC的注解。

Spring Cloud Netflix Zuul:API网关服务,过滤、安全、监控、限流、路由。

Spring Cloud Gateway(课替代Zuul):Spring Cloud Gateway是spring官方基于Spring 5,spring Boot 2和Project Reactor等技术开发的网关,Spring Cloud Gateway意在为服务架构提供一种简单有效的同意的API路由管理方式。Spring Cloud Gateway作为Spring Cloud生态系统中的网关,目标是替代Netflix Zuul,其不仅提供统一的路由方式,并且基于Filter链的方式提供了网关基本功能。

Spring Cloud Config:分布式配置中心。配置管理工具,支持使用Git存储配置内容,支持应用配置的外部化存储,支持客户端信息刷新、加密解密配置内容等。

Spring Cloud Bus:事件、消息总线,用于在集群中传播状态变化,可与Spring Cloud Config联合实现热部署。

Spring Cloud Stream:消息驱动服务。

Spring Cloud Sleuth:分布式服务跟踪。

Spring Cloud Alibaba:阿里巴巴结合自身微服务实践,开源的微服务全家桶,在Spring Cloud项目中孵化。

原文地址:https://www.cnblogs.com/jake-jin/p/14281932.html