首页 > 其他分享 >spring cloud nacos的负载均衡

spring cloud nacos的负载均衡

时间:2023-06-26 23:55:08浏览次数:40  
标签:负载 调用 spring nacos Nacos 实例 均衡 Spring cloud

Spring Cloud Nacos 提供了负载均衡的能力,以在服务调用时实现分布式系统中的负载均衡。下面是 Spring Cloud Nacos 负载均衡的详细说明:

在 Spring Cloud 中,负载均衡是通过 Ribbon 这个负载均衡器来实现的。而 Spring Cloud Nacos 使用了 Ribbon 作为默认的负载均衡实现,并且利用 Nacos 注册中心自动刷新服务列表的特性,实现了动态的负载均衡

当一个服务需要调用其他服务时,它首先会通过 Nacos 服务器获取到注册的服务列表,然后 Ribbon 负载均衡器根据配置的负载均衡策略,选择一个可用实例进行调用。

Spring Cloud Nacos 默认提供了以下几种负载均衡策略:

  1. Round Robin 轮询:(默认策略)按照顺序依次选择可用实例进行调用,实现请求的均匀分配。

  2. Random 随机:随机选择一个可用实例进行调用。

  3. Weighted Random 带权重随机:根据实例的权重随机选择一个可用实例进行调用,权重高的实例被选中的概率较大。

  4. Weighted Response Time 带权重响应时间:根据实例的权重和响应时间选择一个可用实例进行调用,权重高且响应时间低的实例被选中的概率较大。

  5. Best Available 最可用:选择最健康(可用性最高)的实例进行调用。

  6. Availability Filter 最高可用策略:排除掉不可用的实例,选择最高可用的实例进行调用。

这些负载均衡策略都可以通过配置文件进行配置,例如在项目的配置文件中添加以下配置:

spring:
  cloud:
    nacos:
      discovery:
        loadbalancer:
          rule: round-robin

上述配置将使用轮询(Round Robin)作为负载均衡策略。可以根据实际需求选择适合的负载均衡策略。

总结来说,Spring Cloud Nacos 通过与 Ribbon 的集成,利用 Nacos 注册中心的服务列表自动刷新特性,实现了动态的负载均衡。开发者可以根据需求选择合适的负载均衡策略,并通过配置进行灵活的调整。

标签:负载,调用,spring,nacos,Nacos,实例,均衡,Spring,cloud
From: https://www.cnblogs.com/shamo89/p/17507504.html

相关文章

  • spring中的bean是否是线程安全的
    Spring中的bean是否线程安全,与Spring本身是无关的。Spring中会提供很多线程安全方面的策略,因此Spring中的bean也不具备线程安全的特性在Spring的作用域中,有以下几种;prototype(多例)每次getBean得到时候都会创建一个新的对象singleton(单例)在Spring容器中只存在一个全局共......
  • 基于JAVA的springboot班级综合测评管理系统,附源码+数据库+论文+PPT,适合课程设计、毕业
    1、项目介绍随着互联网技术的高速发展,人们生活的各方面都受到互联网技术的影响。现在人们可以通过互联网技术就能实现不出家门就可以通过网络进行系统管理,交易等,而且过程简单、快捷。同样的,在人们的工作生活中,也就需要互联网技术来方便人们的日常工作生活,实现工作办公的自动化处......
  • SpringBoot事件机制
    1、是什么?SpringBoot事件机制是指SpringBoot中的开发人员可以通过编写自定义事件来对应用程序进行事件处理。我们可以创建自己的事件类,并在应用程序中注册这些事件,当事件被触发时,可以对其进行处理。在SpringBoot中,事件可以是任意类型的,可以是基于Spring的事件,也可以是自定义的事......
  • SpringCloud01
    1.项目架构的发展过程1.1.单一应用架构(单体架构)当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。适用于小型网站,小型管理系统,将所有功能都部署到一个功能里,简单易用。缺点:1、性能扩展比较......
  • SpringBoot04
    1.Springboot和Mybatis的整合1.1.使用注解的方式整合MyBatis引入相关的依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><!--mybatis起步依赖--><dependency>......
  • Spring Boot Shiro视频 - 身份认证准备工作
       在认证、授权内部实现机制中都有提到,最终处理都将交给Real进行处理。因为在Shiro中,最终是通过Realm来获取应用程序中的用户、角色及权限信息的。通常情况下,在Realm中会直接从我们的数据源中获取Shiro需要的验证信息。可以说,Realm是专用于安全框架的DAO。实现过程(1)认证实......
  • Spring Boot视频 - 集成Jersey【周三更新】
     第十三章 SpringBoot 单元测试1、SpringBoot集成Jersey 下节更新预告:SpringBoot集成Jersey中文乱码 历史章节:第一章快速开始1、SpringBoot之HelloWorld2、SpringBoot之HelloWorld访问404 第二章 SpringBoot之JSON1、springboot返回json数据2、SpringBoot完美......
  • Spring Boot 形参Map并没有添加到类似于ModelAndView中,但是却可以页面取到相应的值?
    需求缘起:      有网友留言:感谢讲解,思路很清晰,不过有点疑惑,为什么最后结尾的时候,那个形参Map并没有添加到类似于ModelAndView中,但是页面却可以取到相应的值? 本节大纲:(1)留言代码翻译(2)问题分析(3)SpringMVC数据模型(4)写法延伸       接下来看下具体的内容:留言代码翻译:我......
  • SpringBoot自动配置原理
    SpringBoot自动配置自动配置是SpringBoot的核心因素,SpringBoot在整合每一种第三方技术时,都离不开自动配置。但在了解自动配置之前,Spring容器如何进行对bean的加载以及加载控制也是一个非常重要的前提知识。1.bean的加载方式1.1方式一:配置文件+<bean/>标签最初级的bean的加载......
  • 11. 配置ContextPath【从零开始学Spring Boot】
    Springboot默认是/,这样直接通过http://ip:port/就可以访问到index页面,如果要修改为http://ip:port/path/访问的话,那么需要在Application.properties文件中加入server.context-path=/你的path,比如:spring-boot,那么访问地址就是http://ip:port/spring-boot路径。server.context-......