Spring Cloud 学习——1. 概述

1.概述

  Spring Cloud 是一套开源的成熟的微服务框架实践方案。它基于Spring Boot 的约定大于配置的理念,整合市面上比较成熟的又相对轻量级的开源项目或组件,提供微服务系统的实践。

  官方文档:https://spring.io/projects/spring-cloud

    https://cloud.spring.io/spring-cloud-static/Greenwich.SR5/

  中文文档:https://www.springcloud.cc/

2.特点

  2.1. 约定大于配置

  2.2. 适用各种环境(开发/测试/部署)

  2.3. 隐藏了组件的复杂性,并提供声明式、无XML式的配置方式

  2.4. 开箱即用,快速启动

  2.5. 轻量级组件。Spring Cloud 整合的组件大都比较轻量级(且都是各自领域的成熟产品),如Eureka、Zuul等

  2.6. 集大成者,组件丰富、功能齐全:服务治理、配置管理、断路器、网关、消息总线等

  2.7. 选型中立、丰富,兼容性好。例如服务发现可以支持Eureka、Zookeeper或Consul

  2.8. 灵活。Spring Cloud 的组成部分是解耦的,开发者可以按需选择和选型

  2.9. Restful 服务调用(dubbo使用 rpc 实现服务调用)

3.版本

  Spring Cloud 的版本号采用 “地铁站名+SR+数字” 格式命名。Spring Cloud使用伦敦地铁站名命名版本,站名采用英文字母排序。因为Spring Cloud是一个综合项目,它包含很多子项目。由于子项目也维护着自己的版本号,Spring Cloud采用了这种命名方式,从而避免与子项目的版本混淆。SR 即 Service Release ,一般表示 bug 修复。

  Spring Cloud 较新版本一览表

    

   Spring Cloud 与 Spring Boot 版本适配一览表

    

 4. Spring Cloud常用组件

  4.1. Spring Cloud Netflix:核心组件,多个开源套件的整个,主要包括:

    4.1.1. Eureka:服务治理组件,包括服务注册与发现

    4.1.2. Hystrix:容错管理组件,实现熔断器

    4.1.3. Zuul:网关组件,提供智能路由、访问过滤等功能

    4.1.4. Archaius:外部化配置组件

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

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

  4.2. Spring Cloud Config:配置管理工具,实现应用配置的外部化存储,支持客户端配置信息刷新,对配置内容加密解密等

  4.3. Spring Cloud Bus:事件、消息总线,用于传播集群中的状态变化或事件以及触发后续的处理

  4.4. Spring Cloud Security:基于 Spring Security 的安全工具包,为我们的应用程序添加安全控制

  4.5. Spring Cloud Consul:封装了 Consul 操作,Consul 是一个服务发现与配置工具,可以与 Docker 无缝集成

  4.6. Spring Cloud Gateway:基于程序响应的的智能可编程路由组件

  4.7. Spring Cloud Stream:轻量级的事件驱动的微服务组件,简单声明式地使用消息中间件(kafka、RabbitMQ等)在各个boot项目之间收发消息

    

原文地址:https://www.cnblogs.com/coding-one/p/12165917.html