Dubbo 4 Dubbo 高级特性 4.2 Dubbo 常用高级配置 4.2.6 负载均衡

news2024/11/17 15:30:27

Dubbo

【黑马程序员Dubbo快速入门,Java分布式框架dubbo教程】

4 Dubbo 高级特性

文章目录

      • Dubbo
      • 4 Dubbo 高级特性
        • 4.2 Dubbo 常用高级配置
          • 4.2.6 负载均衡

4.2 Dubbo 常用高级配置

4.2.6 负载均衡

【举个栗子】

在这里插入图片描述

现在 同一个服务 提供者,我们把它 部署在了 1、2、3 三台 机器上

现在来了 一个服务消费者

在这里插入图片描述

所以现在 来了一个请求后,访问 哪台机器呢?【这时候 就需要一个 负载均衡的策略 来实现 “选择”】

负载均衡策略(4种) :

  • Random :按权重随机,默认值。按权重设置随机概率。
  • RoundRobin :按权重轮询

给每个机器 都设置一个权重

在这里插入图片描述

在权重 都相等的情况下, 来了个 请求,访问几率是相等的 ,都是 33.3…%

在这里插入图片描述

如果 2 号 机器性能好,我就可以给它设置 一个更大的 权重,这样 它就有 50% 的概率 接收处理请求

【这就是 Random 策略】

【试试】

在这里插入图片描述

OK, 这样直接启动,让它 成为 机器 1

看看Dubbo 控制台

在这里插入图片描述

OK,没毛病

现在 如果还是直接启动 当成 机器2 的话,就会有很多 处 地方 都会出现冲突

所以需要修改

在这里插入图片描述

这是 2 号 机器的权重 和输出

pom 文件中

在这里插入图片描述

让它跑在 9002 端口

并且 修改一下 “ 提供者那个 默认 为 20880 ”的 端口

在这里插入图片描述

OK,

还有一个qos.port,就是之前我们 看到 那个 22222 的

在这里插入图片描述

OK,让机器2 用 44444

OK,现在 直接让 它跑起来

在这里插入图片描述

在这里插入图片描述

OK,没问题,

查看Dubbo 控制台

在这里插入图片描述

同理,再来一个机器 3

权重和 输出

在这里插入图片描述

几个端口

在这里插入图片描述

OK,直接跑起来

在这里插入图片描述

查看Dubbo 控制台

在这里插入图片描述

没毛病

【在调用 方 配置负载均衡】

在这里插入图片描述

其实默认也是 random

重启web 服务

在这里插入图片描述

OK

访问测试

在这里插入图片描述

居然走了 1,可恶,【就是随机 的,只要有概率 ,一切皆有可能】

【这就是 Random】

还有一种 RoundRobin :按权重轮询

轮询:“挨个儿来 ”

试试。

在这里插入图片描述

在这里插入图片描述

重启web 服务,访问 测试

在这里插入图片描述

可以看到这个顺序是满足 权重轮询原理 的

  • 加权轮询 (Weighted Round Robbin) 为轮询中的每台服务器附加一定权重的算法。比如服务器 1 权重 1,服务器 2 权重 2,服务器 3 权重 3,则顺序为 1-2-2-3-3-3-1-2-2-3-3-3- …

【LeastActive:最少活跃调用数,相同活跃数的随机。】

记录每个服务器处理一次请求的时间

按照时间比例来分配任务数,运行一次需要时间多的分配的请求数较少

在这里插入图片描述

【ConsistentHash:一致性 Hash,相同参数的请求总是发到同一提供者。】

在这里插入图片描述

这个很像 Redis 里面的 插槽

【这就是 四种 负载均衡的策略】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/97885.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Dijkstra迪杰斯特拉算法

1.场景 用于计算一个节点到其他节点的最短路径,特点是由其实点位中心向外层扩展(BFS思想),直至扩展到终点为止 2.认识 https://blog.csdn.net/weixin_57128596/article/details/126982769?ops_request_misc%257B%2522request%…

自动生成changelog

本文主要记录我如何在React项目中优雅的使用TypeScript,来提高开发效率及项目的健壮性。 项目目录及ts文件划分 由于我在实际项目中大部分是使用umi来进行开发项目,所以使用umi生成的目录来做案例。 . ├── README.md ├── global.d.ts ├── mo…

安全分析模型

安全分析模型自动化调优 MLOps(Machine Learning Operations)是一种人工智能 的工程实践,是面向机器学习项目的研发运营管理体系 。旨在实现 ML 管道的操作、ML 模型的部署和管理标准化,支持ML 模型的发布、激活、监控、性能跟踪…

Pytorch 学习之:关于 GPU 训练你必须知道的几件事

文章目录torchvision 下载的 pretrain 模型路径cuda 版本一定要适配多 cuda 训练 DataParallel 使用须知torchvision 下载的 pretrain 模型路径 使用 torchvision 来直接下载 pretrained 模型,有时候服务器的下载速度很慢,不如直接下载到本地之后传上去…

简单个人静态HTML网页设计作品 基于HTML+CSS+JavaScript仿小米手机网站 html静态在线购物商城网页制作

常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他等网页设计题目, A…

一种用于模拟电晕放电的高效半拉格朗日算法(Matlab代码实现)

目录 摘要 1 概述 2 数学模型与方法 3 讲解 3.1 测试1 3.2 测试2 3.3 测试3 3.4 测试4 4 Matlab代码实现 摘要 提出了一种无需通量校正的高效电晕放电模拟算法。称为位置-状态分离 (POSS) 方法的算法用于求解电晕放电建模中通常存在的以对流为主的连续性方程。所…

Java项目:ssm实验室预约维修管理系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目分为超级管理员、管理员、学生三种角色, 超级管理员角色包含以下功能: 通知管理、用户管理、实验室管理、实验室预…

字节跳动抖音本地生活前端招聘

一、认识Typescript (1)Javascript是一种动态类型的弱类型语言 Javascript超集: A.包含与兼容所有JS特性,支持共存 B.支持渐进式引入与升级 (2)TypeScript是一种静态类型的弱类型语言 静态类型的优点: A.可读性增强:基于语法…

Linux内存分配原理

Linux内存分配原理虚拟内存分区Linux内存分配时的maps文件brk()与sbrk()mmap()与munmap()mmap()munmap()内存分配过程更多资讯、知识,微信公众号搜索:“上官宏竹”。 虚拟内存分区 虚拟内存由于用途不同,分类也不尽相同,一般我们…

底层网络知识详解:从二层到三层-第6讲-交换机与VLAN:办公室太复杂,我要回学校

上一次,我们在宿舍里组建了一个本地的局域网LAN,可以愉快地玩游戏了。这是一个非常简单的场景,因为只有一台交换机,电脑数目很少。今天,让我们切换到一个稍微复杂一点的场景,办公室。 拓扑结构是怎么形成的? 我们常见到的办公室大多是一排排的桌子,每个桌子都有网口,…

C++11标准模板(STL)- 算法(std::minmax_element)

定义于头文件 <algorithm> 算法库提供大量用途的函数&#xff08;例如查找、排序、计数、操作&#xff09;&#xff0c;它们在元素范围上操作。注意范围定义为 [first, last) &#xff0c;其中 last 指代要查询或修改的最后元素的后一个元素。 返回范围内的最小元素和最…

非零基础自学Golang 第11章 文件操作 11.2 文件基本操作 11.2.1 文件创建与打开

非零基础自学Golang 文章目录非零基础自学Golang第11章 文件操作11.2 文件基本操作11.2.1 文件创建与打开第11章 文件操作 11.2 文件基本操作 在学习文件操作之前&#xff0c;我们先来了解一下Linux下的文件权限。 文件有三种权限&#xff0c;分别为读取、写入和执行&#x…

设计模式2 - 创建型模式

23种设计模式分析与见解开篇、UML、软件设计原则https://blog.csdn.net/lili40342/article/details/128358435创建型模式https://blog.csdn.net/lili40342/article/details/128358392结构型模式https://blog.csdn.net/lili40342/article/details/128358313行为型模式https://bl…

【MATLAB100个实用小技巧】——图形处理(67-75)

文章目录前言系列文章67. 图像的块操作68. 图形的过滤操作69. 图像的频率操作70. 函数变换71. RADON 函数变换72. 图像分析&#xff08;1&#xff09;73. 过滤图像74. 图像的区域处理75. 图像的颜色处置前言 &#x1f30f;MATLAB是一个功能强大的软件&#xff0c;我们可以利用M…

Mycat(3):mycat的安装

1、前言 使用mycat要安装JDK.不会的去看Linux里面的安装JDK的知识点&#xff0c;这是不再做说明 也可以直接使用yum install java-1.7.0-openjdk 因为mycat 基于jdk1.7开发的&#xff0c;所有最好安装jdk1.7的版本 重要说明&#xff1a; Mycat-server-1.6-release 版本发布的版…

手机技巧:苹果手机这8个实用小技巧

今天给大家大家分享苹果手机8个实用小技巧&#xff0c;你都会用吗&#xff1f; 1、快速搜索相机照片 相信大家的相册里的照片应该和我一样不说有几千张&#xff0c;几百张总是有的&#xff0c;有时候想找照片&#xff0c;又不想一张一张找怎么办&#xff1f;很简单&#xff0c…

Docker配置从私有仓库拉取镜像

修改Docker配置文件 修改docker的配置文件daemon.json&#xff0c;如果配置文件不存在则直接创建。 vim /etc/docker/daemon.json文件内容如下&#xff0c;其中insecure-registries属性值“registry.luntek-inc.com”代表私有仓库的地址&#xff0c;你需要将registry.luntek-…

JavaSE13-方法

目录 1.方法的基本用法 1.1.什么是方法 1.2.方法定义语法 1.3.方法调用的执行过程 1.4.实参和形参的关系 1.5.方法的返回值 2.方法重载 2.1.方法重载定义 2.2.代码示例 3.方法递归 3.1.方法递归定义 3.2.方法递归使用条件 3.3.递归与非递归优劣比较 3.4.递归执行…

[附源码]Nodejs计算机毕业设计基于网络C++实验管理系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分…

SpringBoot+Vue项目部门人事管理系统的设计与实现

文末获取源码 开发语言&#xff1a;Java 使用框架&#xff1a;spring boot 前端技术&#xff1a;JavaScript、Vue.js 、css3 开发工具&#xff1a;IDEA/MyEclipse/Eclipse、Visual Studio Code 数据库&#xff1a;MySQL 5.7/8.0 数据库管理工具&#xff1a;phpstudy/Navicat JD…