• springcloud6:负载均衡


    • 负载均衡是什么?
      Ribbon是客户端负载均衡的工具(在消费者),ribbon帮你基于某种规则(轮询,随机连接)去连接这些机器。
    • Ribbon在生产环境大规模部署,不会短期替代
    • Ribbon做些什么?
      负载均衡:用户请求分配到多个服务上实现高可用
      Nginx(集中式)服务端负载均衡,所有客户端请求交给Nginx,然后由nginx决定哪一个服务
      Ribbon(进程内)本地负载均衡,在调用微服务接口时就确定用哪一个服务
      Ribbon的使用:负载均衡+RestTemplate
    • Ribbon工作步骤
      第一步 先选择EureKa Server 优先选择同一个区域内负载较少的server
      第二部 根据用户指定的策略,从Server取到的服务注册列表里选择一个地址
    • 注意eureka依赖已经引入了ribbon,故已经可以负载均衡轮询方式
    • RestTemplate的使用(Ribbon的使用需要这个远程调用)
      getForObject/post(返回json串) 只返回json串
      getForEntity(返回ResponseEntity)返回更加详细
    • Ribbon核心思想
      轮询负载均衡
    • Ribbon核心组件Irule的默认自带组件规则
      轮询如何替换
      跳出扫描包(不能被ComponentScan扫描到)
      写Irule定义类(定义轮询算法)
      在主类中写注解
    @RibbonClient(name = "CLOUD-PAYMENT-SERVICE",configuration=MySelfRule.class)
    
    • 1
    • 理解原理并手写代码
      原理是什么?
      服务名称对应的IP有两个,如何切换?
      负载均衡算法:第几次请求%服务器集群总数量=实际服务器位置下标index,list.get(index)->具体服务地址。重启整个服务器,然后rest重新计数
      8001,8002总机器数字两台,
    • 源码分析
    • 手写一个负载均衡算法(原理+JUC(CAS+自旋锁的复习))
  • 相关阅读:
    springboot中的@Configuration详解~
    zynq - ps端的pcie ep功能测试
    【数据结构】链表详解
    Unity数据持久化——XML
    个人练习- Leetcode1664-Ways to Make a Fair Array
    kafka单节点创建 topic 超时
    vm options、program arguments、environment property
    slice,splice,substring,split
    【LeetCode】升级打怪之路 Day 06:哈希表的应用
    C语言实现三子棋小游戏(源码+教程)
  • 原文地址:https://blog.csdn.net/qq_44724899/article/details/128003575