zoukankan      html  css  js  c++  java
  • Spring Cloud 图解微服务 Sentinel Nacos Ribbon

    • 服务注册与发现:Nacos
    • 服务熔断限流:Sentinel
    • 服务通信调用:Feign
    • 配置中心:Nacos
    • 服务网关:Spring Cloud Gateway
    • 分布式事务:Seata
    • 消息队列:RocketMQ
    • 调用链监控:Sleuth+Zipkin

    Hystrix 替换成了 Sentinel,Hystrix 也停止了开发,这个时候 Spring Cloud Alibaba 中的 Sentinel 的优势就很明显了,Sentinel 支持多样化的流量控制,熔断降级等功能,完全可以替代 Hystrix。

    Ribbon和Nginx的区别

    Nginx是客户端所有请求统一交给Nginx,由Nginx进行实现负载均衡请求转发,属于服务器端负载均衡。既请求由Nginx服务器端进行转发。客户端负载均衡Ribbon,Ribbon是从Eureka注册中心服务器端上获取服务注册信息列表,缓存到本地,然后在本地实现轮询负载均衡策略。既在客户端实现负载均衡。

    应用场景的区别

    Nginx适合于服务器端实现负载均衡,比如:Tomcat,Ribbon适合与在微服务中RPC远程调用实现本地服务负载均衡,比如:Dubbo、Spring Cloud中都是采用本地负载均衡。

    Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避兔的会调用失败,比如超时、异常等,Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性。Hystrix的出现就是为了解决雪崩效应。

    服务降级

    整体资源快不够了,忍痛将某些服务先关掉,待渡过难关,再开启回来。

    • 首先,如果你对某个接口定义了@FeignClient注解,Feign就会针对这个接口创建一个动态代理
    • 接着你要是调用那个接口,本质就是会调用 Feign创建的动态代理,这是核心中的核心
    • Feign的动态代理会根据你在接口上的@RequestMapping等注解,来动态构造出你要请求的服务的地址

    Ribbon的负载均衡默认使用的最经典的Round Robin轮询算法

     Hystrix:发起请求是通过Hystrix的线程池来走的,不同的服务走不同的线程池,实现了不同服务调用的隔离,避免了服务雪崩的问题

     

    ZookeeperConsul, Eureka 

     

     

     这就叫服务雪崩。妈耶,上面两个熔断和降级你都没给我解释清楚,你现在又给我扯什么服务雪崩?

    />所谓熔断就是服务雪崩的一种有效解决方案。当指定时间窗内的请求失败率达到设定阈值时,系统将通过断路器直接将此请求链路断开。

     首先我们会有个桶,如果里面没有满那么就会以一定固定的速率会往里面放令牌,一个请求过来首先要从桶中获取令牌,如果没有获取到,那么这个请求就拒绝,如果获取到那么就放行。很简单吧,啊哈哈、

    ########################ribbon 负载配置###################
    ribbon:
    #本地负载规则 最小的并发
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.BestAvailableRule
    #对所有操作请求都进行重试,默认false
    OkToRetryOnAllOperations: false
    #负载均衡超时时间,默认值5000ms
    ReadTimeout: 3000
    #ribbon请求连接的超时时间,默认值2000ms
    ConnectTimeout: 50000
    #对当前实例的重试次数,默认0
    MaxAutoRetries: 0
    #对切换实例的重试次数,默认1
    MaxAutoRetriesNextServer: 0
    小蚊子大人
  • 相关阅读:
    A1066 Root of AVL Tree (25 分)
    A1099 Build A Binary Search Tree (30 分)
    A1043 Is It a Binary Search Tree (25 分) ——PA, 24/25, 先记录思路
    A1079; A1090; A1004:一般树遍历
    A1053 Path of Equal Weight (30 分)
    A1086 Tree Traversals Again (25 分)
    A1020 Tree Traversals (25 分)
    A1091 Acute Stroke (30 分)
    A1103 Integer Factorization (30 分)
    A1032 Sharing (25 分)
  • 原文地址:https://www.cnblogs.com/ywsheng/p/14949588.html
Copyright © 2011-2022 走看看