SpringCloud 概览

SpringCloud 概览

leo 574 2021-04-10

SpringCloud

SpingCloud 为开发人员提供了工具,以快速构建分布式系统中的一些常见模式(如:配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、Leader选举、分布式session、集群状态)。他们将适用于任何分布式环境中,包括开发人员自己的笔记本电脑,金属裸数据中心,Cloud Foundry等托管平台。

SpringCloud官网

SpringCloud 特性

  • 分布式/版本化配置
  • 服务注册与发现
  • 路由
  • 服务间调用
  • 负载均衡
  • 断路器
  • 全局锁
  • Leader选举和集群状态
  • 分布式消息

SpringCloud 核心组件

SpringCloud Netflix

SpringCloud Netflix 提供了 Netflix OSS 服务,通过 SpringBoot 应用自动配置和绑定到 Spring 环境以及其他 Spring 编程模型风格进行集成。用几个简单的注释可以快速启用和配置在您的应用程序的常见模式,并且使用一些久经沙场的 Netflix 组件构建大型分布式系统。这些模式提供包括:

  • Eureka:服务注册与发现
  • Hystrix:断路器,服务熔断
  • Zuul:路由(API网关)
  • Ribbon:客户端负载均衡器
  • Feign:声明式的 REST 客户端。SpringCloud 中使用的是 OpenFeign,其基于Feign 集成了Ribbon 和 Hystrix。
  • Archaius:分布式配置中心

SpringCloud Alibaba

SpringCloud Alibaba 为分布式系统开发提供了一个一站式解决方案。它包含所有开发分布式应用程序必需的组件,方便您使用 SpringCloud 开发您的应用程序。

你只需要添加一些注释和少量的配置将 SpringCloud 应用程序连接到阿里巴巴的分布式解决方案,并通过阿里巴巴中间件构建一个分布式应用系统。主要的组件有:

  • Sentinel:流量控制和服务降级
  • Nacos:服务注册与发现
  • Nacos:分布式配置中心
  • RocketMQ:高可扩展的事件驱动消息中间件
  • Seata:分布式事务
  • Dubbo:RPC 通信框架

除了上述两家公司提供的组件,Spring 自身也提供了许多好用的组件:

  • Spring Cloud Gateway:路由(API网关)
  • Spring Cloud Config:分布式配置中心
  • Spring Cloud Sleuth:分布式链路追踪,可与ZipKin兼容

还有其他组织的一些组件 SpringCloud 也进行了集成:

  • ZipKin:分布式链路追踪
  • Consul:服务注册与发现