当前位置: 首页 > wzjs >正文

中国建设特种作业操作证网官方网站小程序制作流程

中国建设特种作业操作证网官方网站,小程序制作流程,wordpress更新主机名,网站建设url主要说一下springcloud alibaba 在使用nacos注册中心过程中&#xff0c;请求服务负载均衡的配置方法 引入依赖包 这个依赖包是springcloud在新版本的负载均衡实现&#xff0c;2020版本以上 <dependency><groupId>org.springframework.cloud</groupId><ar…

主要说一下springcloud alibaba 在使用nacos注册中心过程中,请求服务负载均衡的配置方法

引入依赖包 这个依赖包是springcloud在新版本的负载均衡实现,2020版本以上

`

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId><version>XXX</version></dependency>`
默认情况下,负载均衡不需要配置,默认轮询策略,如果我们想改,怎么做呢
先说一下springcloud LoadBalance原理及结构

1、负载均衡器的管理
ReactorLoadBalancer<ServiceInstance> 这就是一个服务绑定的负载均衡器,为每一个服务创建一个负载均衡实体类,实现服务的隔离,虽然我也不知道为啥要这样做
2、工厂来管理负载均衡器

LoadBalancerClientFactory  

这个工厂相当于管理所有的负载均衡器,你可以通过getInstance方法拿到你的服务名绑定的负载均衡器
3、负载均衡器

ReactorServiceInstanceLoadBalancer

每一个负载均衡器都实现了这个接口 ,内部定义了choose方法,外部就可以用他的choose方法来找到一个服务

类结构讲完了 怎么自定义一个新的负载均衡器呢

这里就需要一个配置类

@Configuration
public class FeignForceLoadBalancerConfig {@Bean
public ReactorLoadBalancer<ServiceInstance> randomLoadBalancer(Environment environment,LoadBalancerClientFactory loadBalancerClientFactory) {String serviceId = environment.getProperty(LoadBalancerClientFactory.PROPERTY_NAME);System.out.println("Init RandomLoadBalancer for service: " + serviceId);return new RandomLoadBalancer(loadBalancerClientFactory.getLazyProvider(serviceId, ServiceInstanceListSupplier.class),serviceId);
}

这里就注册了一个随机策略的负载均衡器,这也是springcloud实现了的,自己定义的话可能需要自己实现接口了

怎么用呢?

上面说了负载均衡器和服务绑定在一起的,所以说还是得声明一下绑定关系
1、随便找个配置类, 加个注解,就说明这个服务走这个负载均衡器

@LoadBalancerClient(value="service-product",configuration = FeignForceLoadBalancerConfig.class)

不知道为啥他要这么设计,反正挺恶心, 一个负载均衡器和服务绑定,多个负载均衡器就得写多个配置类

这个时候你再在客户端请求service-product服务,那就会走loadbalance,不论你是通过RestTemplate请求还是通过LoadBalanceClient请求服务

附上一个调用链图

                        ┌────────────────────────────┐│  @LoadBalancerClient       ││  name="service-product"    ││  config = CustomLBConfig   │└────────────┬───────────────┘│┌───────────────────────────▼──────────────────────────┐│ Spring Context 注入 Bean:                             ││ ReactorLoadBalancer<ServiceInstance>                 ││ → 例如 RandomLoadBalancer                            ││ → 由 CustomLBConfig 中的 @Bean 方法提供              │└───────────────────────────┬──────────────────────────┘│┌──────────────────▼───────────────────┐│ LoadBalancerClientFactory             ││ - 管理每个服务对应的负载类实例       ││ - 按 serviceId 提供策略               │└──────────────────┬───────────────────┘│┌──────────────────────────▼──────────────────────────┐│ ReactorServiceInstanceLoadBalancer.choose(request) ││ (通用选择接口,最终调用你配置的策略类)           │└──────────────────────────┬──────────────────────────┘│┌────────────────────────────────▼────────────────────────────────┐│                                                                ││    Feign 调用链:                                              ││    FeignClient → LoadBalancerFeignClient → choose()           ││                                                                ││    RestTemplate 调用链:                                       ││    RestTemplate + @LoadBalanced → LoadBalancerInterceptor →   ││    choose()                                                    ││                                                                │└────────────────────────────────────────────────────────────────┘
http://www.dtcms.com/wzjs/143557.html

相关文章:

  • 创作网站百度指数关键词
  • 网站建设实验报告总结seo网站优化推广费用
  • 前台和后台网站开发有什么区别怎样找推广平台
  • h5商城网站怎么做全网搜索软件
  • 福建省建设工程职业注册网站想开广告公司怎么起步
  • 外贸网站优化公司广州seo服务
  • 江苏网站建站系统哪家好专业seo优化公司
  • 摄影网站有哪些?seo为什么要进行外部优化
  • 钢材网站建设如何做好推广引流
  • 卡通网站建设站长工具官网域名查询
  • 创建网站平台淘宝关键词排名是怎么做的
  • 小程序开发费用一览表含价格广东网站seo营销
  • 怎么做付款链接网站爱站工具包的模块有哪些
  • 重庆专业做网站收录网站
  • seo怎样优化网站外贸快车
  • 珠海企业网站建设制作什么是互联网营销
  • 公司发布网站需要备案吗在线培训网站
  • 包装设计网站banner引擎优化是什么工作
  • 建一个手机网站需要多少钱seo快速排名外包
  • 网站通栏如何做特效说说刷赞网站推广
  • 地方政府网站建设创建属于自己的网站
  • 二手服务器做网站苏州搜索引擎排名优化商家
  • wordpress社交旅游企业站seo
  • 亚马逊雨林探险作文百度seo公司哪家最好
  • 徐州专业网站建设百度风云榜排行榜
  • 毕设做网站什么能过百度商业平台官网
  • 可以在线做护理题的网站网站seo优化怎么做
  • 政府网站集约化建设有什么作用广州seo公司如何
  • 长宁区建设交通委员会网站铁岭网站seo
  • 网站建设比较郑州粒米seo顾问