Spring Cloud知识梳理

本文详细梳理了Spring Cloud的核心组件,包括Eureka注册中心、Ribbon负载均衡、Hystrix容错管理、Feign服务调用、Spring Cloud Gateway网关、Config分布式配置中心以及Bus服务总线。通过实例解析,阐述了各组件的功能、如何防止雪崩效应以及在微服务架构中的重要角色。
摘要由CSDN通过智能技术生成

前言

刚刚自学完了Spring Cloud,知识点很多,觉得有点杂乱,接下来要写个Spring Cloud的小项目,所以现在来梳理一下知识点,主要说明各个组件的作用。可能会有表述不当的地方,欢迎指正。

架构图

在这里插入图片描述

Eureka注册中心

实现服务的自动注册、发现、状态监控。

服务调用者无需自己寻找服务,而是把自己的需求告诉Eureka,然后Eureka会把符合其需求的服务告诉调用者。Eureka就像滴滴一样,用户在滴滴上获取网约车服务,服务调用者在Eureka上获取服务。

服务提供方与Eureka之间通过 “心跳” 机制进行监控,当某个服务提供方出现问题,Eureka自然会把它从服务列表中剔除。

负载均衡Ribbon

提供相同服务的服务提供者通常有多个,形成集群,服务调用者要调取这种服务,那到底调取哪一个呢?Eureka中集成的负载均衡组件Ribbon提供了服务选用策略,Ribbon有很多负载均衡算法(即:服务选用策略),比如轮询、随机等,默认使用轮询。

Hystrix

作用:解决雪崩效应
什么是雪崩效应?某个微服务发生异常,多个用户请求的线程被阻塞,直至服务器资源被耗尽,导致其他所有服务都不可用。

Hystrix解决雪崩效应的手段有:

  • 线程隔离
    为每个微服务分配一个小线程池,用户的请求将不再直接访问服务,而是通过线程池中的空闲线程来访问服务,如果线程池已满,或者请求超时,则会进行服务降级
  • 服务降级(服务熔断)
    返回友好的请求失败提示信息

Circuit Breaker/熔断器/断路器
作用:服务调用方可以自己进行判断哪些服务反应慢或存在大量超时,可以针对这些服务进行主动熔断,防止整个系统被拖垮。

Feign

Feign可以把Rest的请求进行隐藏,伪装成类似SpringMVC的Controller一样。不用再自己拼接url,拼接参数等等操作,一切都交给Feign去做。

Feign中已经集成了Ribbon、Hystrix

Spring Cloud Gateway网关

Spring Cloud Gateway组件的核心是一系列的Filter过滤器,通过这些过滤器可以将客户端发送的请求转发(路由)到对应的微服务。 Spring Cloud Gateway是加在整个微服务最前沿的防火墙和代理器,隐藏微服务结点IP端口信息,从而加强安全保护。Spring Cloud Gateway本身也是一个微服务,需要注册到Eureka服务注册中心。
网关的核心功能是:过滤和路由

Gateway与Feign的区别
Gateway用于外部,Feign用于内部

  • Gateway 作为整个应用的流量入口,接收所有的请求,如PC、移动端等,并且将不同的请求转发至不同的处理微服务模块,其作用可视为nginx;大部分情况下用作权限鉴定、服务端流量控制
  • Feign 则是将当前微服务的部分服务接口暴露出来,并且主要用于各个微服务之间的服务调用

Spring Cloud Config分布式配置中心

Spring Cloud Config方便配置文件的集中管理,它支持配置文件放在配置服务的本地,也支持放在远程Git仓库(GitHub、码云)。配置中心本质上也是一个微服务,同样需要注册到Eureka服务注册中心!

Spring Cloud Bus服务总线

使得更新Git仓库中的配置文件时,用户微服务可以及时接收到新的配置信息并更新。

Spring Cloud Bus是用轻量的消息代理将分布式的节点连接起来,可以用于广播配置文件的更改或者服务的监控管理。也就是消息总线可以为微服务做监控,也可以实现应用程序之间相互通信。 Spring Cloud Bus可选的消息代理有RabbitMQ和Kafka

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值