Spring Cloud(一):Spring Cloud简述

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Lee_Ho_/article/details/81101579

  要了解Spring Cloud,先要对“微服务”这个概念有一定的了解。微服务这个名词最早是由面向对象设计与分析专家Martin Fowler提出,他对微服务的理解如下:

  简而言之,微服务架构的风格,就是讲单一程序开发成一个微服务,每个微服务运行在自己的进程当中,并使用轻量级机制通信,通常是 HTTP RESTFUL API。这些服务围绕业务能力来划分构建的,并通过完全自动化部署机制来独立部署。这些服务可以使用不同的编程语言,以及不同的数据存储技术,以保证最低限度的集中式管理。


  那么,对于微服务,可以总结如下:

  1. 按业务划分为一个独立运行的程序,即服务单元。
  2. 服务之间通过HTTP协议相互通信。
  3. 自动化部署。
  4. 可以用不同的编程语言
  5. 可以用不同的存储技术
  6. 服务集中化管理
  7. 微服务是一个分布式系统

  Spring Cloud 是基于Spring Boot的,继承了Spring Boot的一些优点,约定大于配置。Spring Cloud的首要目标就是通过一系列开发组件和框架,帮助开发者快速搭建一个微服务系统。Spring Cloud是通过包装其它技术框架来实现的,例如包装开源的Netflix OSS组件,实现了一套通过注解,Java配置和基于模板开发的微服务框架。Spring Cloud提供了开发分布式微服务系统的一些常用组件,例如服务注册和发现,配置中心,熔断器,智能路由,微代理,控制总线,全局锁,分布式会话等等。

  常用组件:

     1.服务注册和发现组件Eureka

             利用Eureka组件可以很轻松的实现服务的注册和发现的功能,Eureka组件提供了服务的健康监测,以及友好页面UI,另外,Spring Cloud也支持Consul和Zookeeper用于注册和发现服务。

      2.熔断组件Hystrix

              Hystrix是一个熔断组件,除了基本的熔断器功能外,还能够实现服务降级,服务限流的功能。另外,Hystrix提供了熔断器的健康监测,以及熔断器健康数据的API接口。Hystrix Dashboard提供了单个服务熔断器的健康状态数据的界面展示功能,Hystrix Turbine提供了多个服务的熔断器的健康状态数据的界面展示功能。

      3.负载均衡组件Ribbon

              Ribbon是一个负载均衡组件,他通常和eureka,zuul,RestTemplate,Fegin配合使用。

      4.路由网关Zuul

              路由网关Zuul有智能路由和过滤的功能,内部服务的API接口通过Zuul网关同一对外暴露,内部服务的API接口不直接暴露,防止了内部服务的敏感信息对外暴露。


项目一览表:

  1. Spring Cloud Config:服务配置中心,将所有的服务的配置文件放到本地仓库或者远程仓库。
  2. Spring Cloud Netflix:它是通过包装Netflix公司的微服务组件实现的,也是Spring Cloud的核心组件,包括Eureka,Hystrix,Zuul,Archaius.
  3. Eureka:服务注册和发现组件
  4. Hystrix:熔断器组件
  5. Zuul:智能路由网关组件
  6. Fegin:声明式远程调度组件
  7. Ribbon:负载均衡组件
  8. Archaius:配置管理API的组件
  9. Spring Cloud Bus:消息总线组件
  10. Spring Cloud Sleuth:服务链路追踪组件
  11. Spring Cloud Data Flow:大数据操作组件
  12. Spring Cloud Security:安全模块组件
  13. Spring Cloud Consul:该组件是Spring Cloud对Consul的封装,和Eureka类似
  14. Spring Cloud Zookeeper:同上
  15. Spring Cloud Stream:数据流操作组件
  16. Spring Cloud CLI:该组件是对Spring Boot CLI的封装,可以让用户通过命令行方式快速运行和搭建容器
  17. Spring Cloud Task:基于Spring Task,提供了任务调度和管理的功能
  18. Spring Cloud Connectors:用于Paas云平台连接到后端。
展开阅读全文

没有更多推荐了,返回首页