• 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

  • 相关阅读:
    钉钉与RStudio快捷方式冲突--钉钉快捷键设置
    网页数据采集HTTP Get,Post登录提交数据--VBS之Microsoft.XMLHTTP对象
    Oracle误删除数据文件恢复---惜分飞
    【C语言刷题】Leetcode268丢失的数字
    Maven的常用命令
    使用docker-compose部署达梦DEM管理工具,mac m1系列适用
    vue3中组件传值的方法
    Vue2.0简介
    文件上传漏洞
    react实战系列 —— 起步(mockjs、第一个模块、docusaurus)
  • 原文地址:https://blog.csdn.net/yanjianpeng_2018/article/details/126718445