Spring Cloud 5大组件有哪些?各种组件在项目中的配置和使用

早期我们一般认为的Spring Cloud五大组件是

  • Eureka : 注册中心

  • Ribbon : 负载均衡

  • Feign : 远程调用

  • Hystrix : 服务熔断

  • Zuul/Gateway : 网关 

随着SpringCloudAlibba在国内兴起 , 我们项目中使用了一些阿里巴巴的组件

  • 注册中心/配置中心 Nacos

  • 负载均衡 Ribbon

  • 服务调用 Feign

  • 服务保护 sentinel

  • 服务网关 Gateway

 

核心的功能就一下几个 :

  1. 服务注册 : 服务启动的时候会将服务的信息注册到注册中心, 比如: 服务名称 , 服务的IP , 端口号等

  2. 服务发现 : 服务调用方调用服务的时候, 根据服务名称从注册中心拉取服务列表 , 然后根据负载均衡策略 , 选择一个服务, 获取服务的IP和端口号, 发起远程调用

  3. 服务状态监控 : 服务提供者会定时向注册中心发送心跳 , 注册中心也会主动向服务提供者发送心跳探测, 如果长时间没有接收到心跳, 就将服务实例从注册中心下线或者移除

使用的话, 首先需要部署注册中心服务 , 然后在我们自己的微服务中引入注册中心依赖, 然后再配置文件中配置注册中心地址 就可以了  

spring:
  application:
    name: leadnews-admin
  cloud:
    nacos:
      # 注册中心地址
      discovery:
        server-addr: 124.221.75.8:8848
      # 配置中心地址
      config:
        server-addr: 124.221.75.8:8848
        file-extension: yml

项目负载均衡如何实现的

服务调用过程中的负载均衡一般使用SpringCloud的Ribbon 组件实现 , Feign的底层已经自动集成了Ribbon , 使用起来非常简单

客户端调用的话一般会通过网关, 通过网关实现请求的路由和负载均衡

spring:
  cloud:
    gateway:
      routes:
        # 平台管理
        - id: we
  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Spring Cloud的核心组件包括: 1. Eureka:服务注册和发现组件,用于管理服务的注册和发现。 2. Ribbon:客户端负载均衡组件,用于在多个服务提供者之间进行负载均衡。 3. Feign:声明式的REST客户端,用于简化服务之间的调用。 4. Hystrix:容错和断路器组件,用于处理服务之间的故障和超时。 5. Zuul:API网关组件,用于管理和路由服务请求。 6. Config:分布式配置心,用于管理应用程序的配置信息。 7. Bus:消息总线组件,用于在分布式系统传递消息。 8. Sleuth:分布式跟踪组件,用于跟踪服务之间的调用和请求。 ### 回答2: Spring Cloud是一个用于构建分布式系统的框架,它提供了一系列的核心组件来简化开发和管理分布式系统的复杂性。 Spring Cloud的核心组件包括: 1. Spring Cloud Netflix:这是Spring Cloud的最重要的组件之一,它集成了Netflix开源的一些工具和框架,例如Eureka、Ribbon、Hystrix等。这些工具和框架可以帮助开发人员构建可靠的、弹性的、高可用的分布式系统。 2. Spring Cloud Config:这个组件提供了集式的配置管理,可以通过将配置文件存储在Git等版本控制工具,动态地更新配置,避免了重新部署应用程序的麻烦。 3. Spring Cloud Gateway:这是一个高度可扩展的API网关,它可以将所有的外部请求路由到相应的服务进行处理。它可以提供负载均衡、安全认证等功能。 4. Spring Cloud Sleuth:这个组件可以追踪分布式系统的请求流程,提供了分布式跟踪的能力。通过集成日志、链路追踪等功能,可以更好地定位和解决分布式系统的问题。 5. Spring Cloud Stream:这个组件可以简化数据流的处理。它提供了一种标准化的流式处理框架,使得开发人员可以更方便地实现消息传递、数据转换等功能。 6. Spring Cloud Bus:这个组件可以用于在分布式系统传播状态的变化。通过使用消息代理(如RabbitMQ)来广播配置的更新,可以实现配置的动态刷新。 总之,Spring Cloud的核心组件为开发人员提供了一套完整的工具和框架来构建分布式系统。这些组件可以帮助开发人员解决分布式系统的常见问题,实现弹性、高可用的系统架构。 ### 回答3: Spring Cloud是一个基于Spring框架的开源微服务框架。其核心组件有以下几个: 1. Spring Cloud Netflix:它是Spring Cloud的基础组件,主要是对Netflix开源的一些组件进行封装,包括Eureka、Ribbon、Feign、Hystrix等。Eureka是一个服务注册与发现的组件,Ribbon是一个客户端负载均衡组件,Feign是一个声明式的Web服务客户端,Hystrix是一个容错和延迟容错库,这些组件可以帮助开发者构建弹性和可靠的微服务架构。 2. Spring Cloud Config:用于集管理和配置微服务的配置信息。它可以将配置信息存储在Git或其他后端存储库,并通过服务端提供RESTful接口,供客户端获取配置信息。这样可以实现配置的动态更新和集管理,方便配置的修改和维护。 3. Spring Cloud Bus:通过消息队列实现微服务之间的通信。它可以将配置信息的变更通过消息广播到所有的微服务实例,使得各个实例能够及时获取到新的配置信息,保持一致性。 4. Spring Cloud Sleuth:它用于分布式追踪微服务之间的请求和调用关系。通过为每个请求生成唯一的跟踪ID,并将该ID传递给下游服务,可以方便地追踪请求的链路。同时,它还集成了Zipkin等分布式追踪工具,可以可视化地展示和分析请求的调用链路,方便排查问题。 5. Spring Cloud Gateway:它是一个API网关,用于统一管理和路由微服务的请求。通过集管理请求的入口和出口,可以对请求进行安全验证、流量控制、负载均衡、路由转发等操作,提供统一的API接口给客户端。 这些是Spring Cloud的核心组件,每个组件都有自己的功能和用途,共同构建了一个完善的微服务架构。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值