• ribbon负载均衡


    只需要在RestTemplate 的生成方法上添加@LoadBalanced注解即可

    1. @Bean
    2. @LoadBalanced
    3. public RestTemplate restTemplate() {
    4. return new RestTemplate();
    5. }
    负载均衡策略
    策略名策略描述实现说明
    BestAvailableRule选择一个最小的并发 请求的server逐个考察Server,如果Server被 tripped了,则忽略,在选择其中 ActiveRequestsCount最小的server
    AvailabilityFilteringRule过滤掉那些因为一直 连接失败的被标记为 circuit tripped的后 端server,并过滤掉 那些高并发的的后端 server(active connections 超过配 置的阈值)使用一个AvailabilityPredicate来包含 过滤server的逻辑,其实就就是检查 status里记录的各个server的运行状 态
    WeightedResponseTimeRule根据相应时间分配一 个weight,相应时 间越长,weight越 小,被选中的可能性 越低。一个后台线程定期的从status里面读 取评价响应时间,为每个server计算 一个weight。Weight的计算也比较简 单responsetime 减去每个server自己 平均的responsetime是server的权 重。当刚开始运行,没有形成statas 时,使用roubine策略选择server
    RetryRule对选定的负载均衡策 略机上重试机制。在一个配置时间段内当选择server不 成功,则一直尝试使用subRule的方 式选择一个可用的server
    RoundRobinRule轮询方式轮询选择 server轮询index,选择index对应位置的 server
    RandomRule随机选择一个server在index上随机,选择index对应位置 的server
    ZoneAvoidanceRule复合判断server所在 区域的性能和server 的可用性选择server使用ZoneAvoidancePredicate和 AvailabilityPredicate来判断是否选择 某个server,前一个判断判定一个 zone的运行性能是否可用,剔除不可 用的zone(的所有server), AvailabilityPredicate用于过滤掉连接 数过多的Server。

    在调用者的配置文件中加入配置

    service-product: # 调用的提供者的名称

            ribbon:

                    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule

  • 相关阅读:
    读书笔记之C Primer Plus 3
    nextjs上的DDD架构
    重编译 microsip 和 pjsip 支持 mp3 录音
    金仓数据库 KingbaseES 插件参考手册(23. dbms_utility)
    metersphere 接口自动化
    泛型——常考面试题
    【图像处理】【应用程序设计】加载,编辑和保存图像数据、图像分割、色度键控研究(Matlab代码实现)
    @敏捷组织从业者,开放敏捷架构O-AA™标准考试及认证项目重磅上线!
    10 项目沟通管理
    大数据架构演变
  • 原文地址:https://blog.csdn.net/yanjianpeng_2018/article/details/126718445