网站制作企业有哪些公司,asp.netmvc网站开发,凡客网站建立,淘宝网站建设与经营论文前言介绍#xff1a; 这一讲我们将依据Eureka的负载均衡规则#xff0c;Eureka的具体服务搭建以及服务注册和服务发现可以参考基于Eureka实现服务注册和服务发现_热爱Java的编程小白的博客-CSDN博客 Eureka的服务搭建之后便可以在这上面进行服务注册#xff0c;如果存在两个…前言介绍 这一讲我们将依据Eureka的负载均衡规则Eureka的具体服务搭建以及服务注册和服务发现可以参考基于Eureka实现服务注册和服务发现_热爱Java的编程小白的博客-CSDN博客 Eureka的服务搭建之后便可以在这上面进行服务注册如果存在两个相同的服务名注册此时服务请求这个相同名称的服务的时候将会配合Ribbon进行负载均衡处理换言之会在注册的同名服务列表中拉取其中一个服务处理本次请求。因此本讲将详细介绍Ribbon的负载均衡策略源码。
源码介绍基于idea工具进行讲解 双击键盘Shift打开全局搜索输入LoadBalancerInterceptor进入到这个类里面我们可以看到这个类实现了ClientHttpRequestInterceptor这个接口这个接口是请求拦截器。这个接口会将请求进行拦截并且做负载均衡处理。 进入接口会发现这个接口只有一个实现拦截方法那么负载均衡将会基于这个拦截方法进行负载均衡处理。 进入方法查看发现会获取地址信息服务名获取到的服务名称将会依据获取到的服务名称拉取从Eureka上拉取的同名服务实例。 继续往下执行会发现allServerList已经从Eureka上拉取到这两个服务名称相同的服务实例 继续跟进rule.choose(key)将会选择轮询还是随机进入Rule接口 将会看到里面有轮询和随机方法 最后成功拿到实例。 Ribbon负载均衡源码分析就到这了希望对大家有帮助