<&gt(action/joingroup?code=v1)

Ribbon本身提供了下面几种负载均衡策略:RoundRobinRule:轮询策略,Ribbon以轮询的方式选择服务器,这个是默认值。所以示例中所启动的两个服务会被循环访问;RandomRule:随机选择,也就是说Ribbon会随机从服务器列表中选择一个进行访问;BestAvailableRule:最大可用策略,即先过滤出故障服务器后,选择一个当前并发请求数最小的;WeightedR…

大家好,又见面了,我是你们的朋友全栈君。

Ribbon本身提供了下面几种负载均衡策略:
RoundRobinRule: 轮询策略,Ribbon以轮询的方式选择服务器,这个是默认值。所以示例中所启动的两个服务会被循环访问;
RandomRule: 随机选择,也就是说Ribbon会随机从服务器列表中选择一个进行访问;
BestAvailableRule: 最大可用策略,即先过滤出故障服务器后,选择一个当前并发请求数最小的;
WeightedResponseTimeRule: 带有加权的轮询策略,对各个服务器响应时间进行加权处理,然后在采用轮询的方式来获取相应的服务器;
AvailabilityFilteringRule: 可用过滤策略,先过滤出故障的或并发请求大于阈值一部分服务实例,然后再以线性轮询的方式从过滤后的实例清单中选出一个;
ZoneAvoidanceRule: 区域感知策略,先使用主过滤条件(区域负载器,选择最优区域)对所有实例过滤并返回过滤后的实例清单,依次使用次过滤条件列表中的过滤条件对主过滤条件的结果进行过滤,判断最小过滤数(默认1)和最小过滤百分比(默认0),最后对满足条件的服务器则使用RoundRobinRule(轮询方式)选择一个服务器实例。

package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication { 
   
  public static void main(String[] args) { 
   
    SpringApplication.run(DemoApplication.class, args);
  }
}

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.6.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
  </parent>
  <groupId>com.example</groupId>
  <artifactId>demo</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>demo</name>
  <description>Demo project for Spring Boot</description>
  <properties>
    <java.version>1.8</java.version>
    <vaadin.version>14.1.27</vaadin.version>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-freemarker</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-hateoas</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-jersey</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-mustache</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web-services</artifactId>
    </dependency>
    <dependency>
      <groupId>com.vaadin</groupId>
      <artifactId>vaadin-spring-boot-starter</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.data</groupId>
      <artifactId>spring-data-rest-hal-browser</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-devtools</artifactId>
      <scope>runtime</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-configuration-processor</artifactId>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>org.junit.vintage</groupId>
          <artifactId>junit-vintage-engine</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
  </dependencies>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-bom</artifactId>
        <version>${ 
   vaadin.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
</project>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126216.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sqlite数据库可视化工具—— DB.Browser安装说明

    sqlite数据库可视化工具—— DB.Browser安装说明下面这一步是让你选择是否安装快捷方式到桌面和开始菜单:选择安装的位置,可以默认,或者选择自己的目录:等待安装完成即可打开软件:…

    2022年9月8日
  • css里的clear_css取消某个样式

    css里的clear_css取消某个样式clear:both清除两边,没有用的clear:left清除左边,没有用的clear:right清除右边,没用的

    2022年9月12日
  • plc-300c语言编程,PLC初学者必备:7个PLC经典编程[通俗易懂]

    plc-300c语言编程,PLC初学者必备:7个PLC经典编程[通俗易懂]1、自锁(启保停)自锁需要并联一个线圈输出的常开触点,当启动后,并联的常开触点起到维持输出继续闭合的作用,就是自锁。我们最常用的启保停程序就是自锁。2、连锁和互锁(正反转)连锁就是用两个或多个信号控制一个输出,其实就是触点串联程序。互锁其实是连锁的扩展,利用一个程序行的输出信号作为其他程序行的连锁触点,相互之间进行运行控制,就是互锁。当两个或多个输出之间存在不能同时运行的情况时,就需要用到互锁,比…

    2022年9月6日
  • 常见的Java框架有哪些?[通俗易懂]

    常见的Java框架有哪些?[通俗易懂]Java语言仍然是当下“程序猿”们最爱使用的热门编程语言之一,想要进入这个行业,Java可以为你引路,很多初学的人可能没有系统的了解过Java框架都有哪些。今天为大家整理一下常见的Java框架都有什么?Java框架1.Spring框架Spring框架是现在Java后端框架家族里面最强大的一个,拥有IOC和AOP两大利器,简化了开发的复杂性。而且Spring现在能与所有主流开发框架集成,是一个万能框架,Spring让Java开发变得简单。2.SpringMVC框架这是一个MVC的开源框架用来代替

    2022年7月9日
  • C#textbox 密码输入框「建议收藏」

    C#textbox 密码输入框「建议收藏」C#textbox密码输入框C#中,怎么让textbox输入数字时显示为*号,因为用它作为验证输入密码设置TextBox的PasswordChar属性为*

    2022年7月25日
  • yarn-site.xml 配置介绍

    yarn-site.xml 配置介绍

    2021年11月27日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号