参考博客:https://www.cnblogs.com/l-y-h/p/14238203.html

一、负载均衡 的引入:

  Load balancing (负载均衡),是一种计算机技术,用来在多个计算机(通常指计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载;

  目的:为了达到资源最优化使用,达到最大化吞吐率、最小化响应时间、同时避免过载的目的;

  举例:当早上地铁高峰期的时候,紧挨小区的地铁口人会特别多,且人多的时候会限流,但是有些地铁口人少,地铁工作人员就会拿着喇叭或者广播通知哪个地铁口人少,通知乘客去往地铁口人少的地方;

  在这个例子中,乘客比作需要获取资源运行的程序,或者请求接口,地铁口就是资源或者请求地址,地铁工作人员就是负载均衡的;

  为了提高网站的各方面的能力,一般会把多台机器组成一个集群对外提供服务。比如我们访问 www.bilibili.com,当用户在浏览器访问的时候,如何将用户的请求分发到集群中不同的机器上呢,这个就是负载均衡处理的事情;

  总结:意思是将负载(工作任务,访问请求)进行平衡、分摊到多个操作单元(服务器,组件)上进行执行。是解决高性能,单点故障(高可用),扩展性(水平伸缩)的终极解决方案。

项目地址:https://gitee.com/wminlin/service-registry.git
【问题】:
    在Eureka 篇中,通过在 Eureka 作为注册中心,并使用 RestTemplate 进行服务调用,那么是通过什么进行负载均衡的?
【解决】:
    在 @Bean 声明 RestTemplate 时,添加一个 @LoadBalanced,并使用 注册中心 作为 RestTemplate 的 URL 地址(IP、端口号);
    通过简单的两步,实现了负载均衡;

【涉及到的技术】:
    Ribbon (维护状态,替代产品为 Loadbalancer)
    OpenFeign (推荐使用)

【说明】:
   此处还是以项目地址上的 eureka_server_7000、eureka_client_producer_8001、eureka_client_consumer_9001 三个模块来举例使用;

  

 

posted on 2022-06-20 20:37  冷漠「」  阅读(43)  评论(0)    收藏  举报