美文网首页
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