美文网首页
Spring Cloud

Spring Cloud

作者: 极速魔法 | 来源:发表于2022-05-13 10:16 被阅读0次

微服务架构

  • 服务拆分粒度更小,服务更独立,服务之间通过Restful通信
  • 便于重用和模块组装

网关

  • 路由
  • 安全防护,统一鉴权
  • 负载均衡
  • 黑白名单
  • 限流

Spring Cloud

  • Spring Cloud是一个规范,一系列框架的有序集合
  • 服务发现注册,配置中心,消息总线,负载均衡,断路器,数据监控
  • Spring Boot 开发便利简化了微服务架构的开发

Spring Cloud组件

Eureka

服务注册中心本质是为了解耦服务提供者和服务消费者
CAP支持 AP, Zookeeper 支持 CP

Eureka通过心跳检测,健康检查和客户端缓存机制,提高系统的灵活性,可伸缩性,可用性。

自我保护

15分钟内超过85%的客户端节点没有正常心跳,Eureka认为客户端与注册中心出现了网络故障,进入自我保护机制,不会移除实例

Ribbon

服务器端负载均衡:负载均衡的执行是在服务端
客户端负载均衡:负载均衡的执行是在客户端

Ribbon拦截客户端请求, 根据服务名获取该服务的实例列表,按照一定的负载均衡策略获取一个实例server,发起访问

Hystrix

雪崩效应解决

  • 服务熔断,切断对下游服务的调用
  • 服务降级
  • 服务限流

舱壁模式(线程池隔离)

@HystrixCommand注解默认共用线程池,线程池数量 10。
为了避免问题服务请求过多,导致正常服务⽆法访问,
Hystrix 不是采⽤增加线程数, ⽽是单独的为每⼀个控制⽅法创建⼀个线程池的⽅式

# 查看 java进程
jps
# 指定进程的线程信息
jstack 2419 | grep hystrix

Feign

Feign = RestTemplate+Ribbon+Hystrix
当 Feign ,Hystrix 配置两个超时时间,取最小的超时时间。

GateWay

网关转发请求到下游的微服务,API路由

GateWay过滤器

  • GateWayFilter,应用到单路由上
  • GlobalFilter,应用到所有的路由上

分布式配置中心

Config配置自动更新
Spring Cloud Config + Spring Cloud Bus实现自动配置更新

Spring Cloud Stream

进行了上层抽象,与具体的消息中间件解耦,屏蔽底层具体MQ消息中间件差异。

Stream概念

  • Binder 屏蔽底层MQ差异,切换MQ时,只需要切换 Binder
  • Channel(Bindings): 站在 应用程序角度,input channel 消费者,output channel 生产者

Stream注解

  • @Input,接收消息,消费者
  • @Output,输出消息,生产者
  • @StreamListener,监听队列,用于生产者接收消息
  • @EnableBinding , channel 和 Exchang绑定,消息和主题绑定

相关文章

网友评论

      本文标题:Spring Cloud

      本文链接:https://www.haomeiwen.com/subject/xcmyurtx.html