SpringCloud 微服务的协调者

发布时间 2023-08-18 10:35:03作者: 咔咔皮卡丘

一、什么是Spring Cloud

1、功能:配置管理、服务注册、服务发现、断路器、智能路由、负载均衡、服务间调用、微代理、一次性令牌、思维导图模板、全局锁、领导选举、分布式消息、分布式会话、集群状态

2、Spring Cloud 与 Spring Boot 的关系

  • Spring Boot 是构建 Spring Cloud 架构的基石,存在版本之间的强依赖(Spring Cloud Finchley.M2->Spring Boot 2.0.0.M3)
  • 版本命名规则:伦敦地铁站名字(当前的版本为Finchley)

3、Spring Cloud 子项目

  • Spring Cloud Config 配置中心,利用git来集中管理程序的配置
  • Spring Cloud Netflix 集成众多Netflix的开源软件,包括Eureka、Hystrix、Zuul、Archaius等
  • Spring Cloud Bus 消息总线,利用分布式消息将服务和服务实例在一起。
  • Spring Cloud Cluster 基于Zookeeper、Redis、Hazelcast、Consul实现的领导选举和平民状态模式的抽象和实现
  • Spring Cloud Consul 基于Hashicorp Consul实现的服务发现和配置管理
  • Spring Cloud Security 在Zuul代理中为OAuth2 REST客户端和认证头转发提供负载均衡
  • Spring Cloud Sleuth 适用于Spring Cloud 应用程序的分布式跟踪,与Zipkin、HTrace和基于日志(例如ELK)的跟踪相兼容
  • Spring Cloud Data Flow 基于微服务的数据管道的整体编排
  • Spring Cloud Stream 一个轻量级的事件驱动的微服务框架来快速构建可以连接到外部系统的应用程序。使用Apache Kafka 或 RabbitMQd在Spring Boot应用程序之间发送和接收消息的简单声明模型。
  • Spring Cloud Stream App Starters 基于Spring Boot为外部系统提供Spring的集成
  • Spring Cloud Task App Starters 是Spring Boot应用程序,可能是任何进程,包括Spring Batch作业,并可以在数据处理有限的时间终止
  • Spring Cloud for Amazon Web Services 与Amazon Web Service轻松集成。它提供了一种方便的方式来与AWS提供的服务进行交互,使用众所周知的Spring惯用语和API。开发人员可以围绕托管服务构建应用程序,而无需关心基础设施或维护工作
  • Spring Cloud Connectors 便于PaaS应用在各种平台上连接到后端数据库和消息服务
  • Spring Cloud Starters 基于Spring Boot的项目,用以简化Spring Cloud的依赖管理。该项目已经终止,并且在Angel。SR2后的版本和其他项目合并
  • Spring Cloud CLI 插件用于在Groovy中快速创建Spring Cloud 组件应用程序
  • Spring Cloud Contract 是一个总体项目,其中包含帮助用户成功实施消费者驱动契约的解决方案

4、扩展学习

二、服务发现

1、Eureka和Spring Cloud无缝集成,进行服务注册和发现