SpringCloud Alibaba 工作总结

1.消费者启动报错

设置消费方启动时不检查提供方是否可用。

dubbo:
  consumer:
    check: false  # 关闭提供方检查,避免无法启动(还都是单体项目,提高发布效率减少停机时间)

2.spring-cloud-alibaba 升级报错

依赖版本:

spring-boot:2.3.12.RELEASE

spring-cloud-alibaba:2.2.7.RELEASE

spring-cloud:Hoxton.SR12

nacos:2.0.3

2.1ReferenceAnnotationBeanPostProcessor.setClassValuesAsString(Z)V

解决办法:升级jar包

        
            com.alibaba.spring
            spring-context-support
            1.0.11
        

2.2 namingService subscribe failed

解决办法 :开放9848 和9849端口

3.dubbo 负载均衡策略

一、随机策略(random 默认)
随机策略是Dubbo默认的负载均衡策略,它的原理是从提供者列表中随机选择一台服务器进行调用。由于是随机选择,因此每个提供者被调用的概率是基本相等的,这样可以达到基本的负载均衡效果。

二、轮询策略(roundrobin)
轮询策略是Dubbo使用较为广泛的负载均衡策略之一,它的原理是按照提供者列表的顺序依次调用不同的服务器。每次调用完毕后,将下一次调用的服务器序号递增,直到底部后再从头开始,这样可以实现均衡地调用每个提供者的效果。

三、最小活跃度策略(leastactive)
最小活跃度策略是Dubbo 2.5以后推出的,它的原理是记录每个提供者正在处理的请求个数,调用时选择活跃度最低的服务器进行处理。活跃度指正在处理请求的个数,越少的服务器说明拥有越多的处理能力,这样可以达到负载均衡的效果。

四、一致性哈希策略(consistanthash)
一致性哈希策略是一种基于哈希算法的负载均衡策略,它的原理是将每个服务器节点映射到一个哈希环上。根据客户端请求的哈希值,将请求调用到距离它最近的服务器节点进行处理。这样可以尽可能地减少服务器节点的变化对负载均衡的影响。

五、权重轮询策略()
权重轮询策略是一种基于轮询策略的负载均衡策略,它的原理是在提供者列表中,根据每个提供者设置的权重值来调整调用次数。即设置权重值较大的服务器调用次数较多,设置权重值较小的服务器调用次数较少。这样可以根据每个服务器的性能来进行负载均衡。

六、请求次数限制策略(weightedrandom)
请求次数限制策略是一种基于随机策略的负载均衡策略,它的原理是在随机调用提供者时,限制每个提供者被调用的次数,达到调用次数限制后将该提供者从列表中移除,直到列表为空后才重新随机调用并重置次数。这样可以避免请求集中于某一台服务器而导致其他服务器的负载不均衡。

3.1 配置文件配置

dubbo:
  consumer:
    # 1.random 随机 默认 2.roundrobin 轮询 3.leastactive 最小活跃度 4. consistanthash 一致性哈希 5.weightedroundrobin 权重轮询 6.weightedrandom 请求次数限制
    loadbalance: random 

3.2 代码中单独指定 

    @DubboReference(loadbalance = "leastactive")
    private XxxProviderService xxxProviderService;

代码中单独设置的负载均衡策略会覆盖掉配置文件中设置的负载均衡策略,即代码中指定负载均衡策略的优先级高于配置文件中设置的。

持续更新维护中。

你可能感兴趣的:(SpringCloud,springcloud)