您的位置:首页 > 编程语言 > Java开发

spring cloud 【开篇】

2021-04-12 21:54 169 查看 https://blog.51cto.com/u_13347

Spring Cloud是基于Spring Boot的一整套实现微服务的框架。他提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。最重要的是,跟spring boot框架一起使用的话,会让你开发微服务架构的云服务非常好的方便。 Spring Cloud包含了非常多的子框架,其中,Spring Cloud Netflix是其中一套框架,由Netflix开发后来又并入Spring Cloud大家庭,它主要提供的模块包括:服务发现、断路器和监控、智能路由、客户端负载均衡等。

spring cloud 包含很多子项目。我们一一来认识一下:

  1. spring cloud config:配置管理工具
    支持使用git存储配置内容,可以使用它实现应用配置的外部化存储,并支持客户端配置信息刷新,加密、解密配置内容等。

  2. spring cloud netflix:核心组件,对多个Netflix OSS开源套件进行整合。
    1、Eureka,服务注册和发现,它提供了一个服务注册中心、服务发现的客户端,还有一个方便的查看所有注册的服务的界面。 所有的服务使用Eureka的服务发现客户端来将自己注册到Eureka的服务器上。

    2、Zuul,网关,所有的客户端请求通过这个网关访问后台的服务。他可以使用一定的路由配置来判断某一个URL由哪个服务来处理。并从Eureka获取注册的服务来转发请求。

    3、Ribbon,即负载均衡,Zuul网关将一个请求发送给某一个服务的应用的时候,如果一个服务启动了多个实例,就会通过Ribbon来通过一定的负载均衡策略来发送给某一个服务实例。

    4、Feign,服务客户端,服务之间如果需要相互访问,可以使用RestTemplate,也可以使用Feign客户端访问。它默认会使用Ribbon来实现负载均衡。

    5、Hystrix,监控和断路器。我们只需要在服务接口上添加Hystrix标签,就可以实现对这个接口的监控和断路器功能。

    6、Hystrix Dashboard,监控面板,他提供了一个界面,可以监控各个服务上的服务调用所消耗的时间等。

  3. Spring Cloud Bus:事件、消息总线,用于传播集群中的状态变化或事件,以触发后续的处理,比如用动态刷新配置。

  4. spring cloud cluster:针对zookeeper、redis、hazelcast、consul的选举算法和通用的状态模式的是实现。
  5. spring cloud consul:服务的发现和配置管理工具。
  6. spring cloud stream: 通过redis、rabbit或者kafka实现的消费微服务,可以通过简单的声明式模型来发送和接受消息。
  7. spring cloud AWS: 用户简化整合Amazon Web Service的组件。
    spring cloud zookeeper:基于zookeeper的服务发现和配置管理组件。

  8. spring cloud sleuth:spring cloud 应用的分布式跟踪实现,可以完美整合zipin。

  9. spring cloud Starters: spring cloud 的基础组件,他是基于spring boot 风格项目的基础依赖模块。

  10. Spring cloud cli : 用于在groovy中快速创建spring cloud 应用的spring boot cli插件。

  11. Spring Cloud Security:基于spring security的安全工具包,为你的应用程序添加安全控制。

  12. Spring Cloud Data Flow:大数据操作工具,作为Spring XD的替代产品,它是一个混合计算模型,结合了流数据与批量数据的处理方式。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: