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

LoadBalancer (本地负载均衡)

1.loadbalancer本地负载均衡客户端 VS Nginx服务端负载均衡区别

Nginx是服务器负载均衡,客户端所有请求都会交给nginx,然后由nginx实现转发请求,即负载均衡是由服务端实现的。

loadbalancer本地负载均衡,在调用微服务接口时候,会在注册中心上获取注册信息服务列表之后缓存到JVM本地,从而在本地实现RPC远程服务调用技术。

2.loadbalancer工作流程:

LoadBalancer 在工作时分成两步:

第一步,先选择ConsulServer从服务端查询并拉取服务列表,知道了它有多个服务(上图3个服务),这3个实现是完全一样的,

默认轮询调用谁都可以正常执行。类似生活中求医挂号,某个科室今日出诊的全部医生,客户端你自己选一个。

第二步,按照指定的负载均衡策略从server取到的服务注册列表中由客户端自己选择一个地址,所以LoadBalancer是一个客户端的负载均衡器。

3.开启负载均衡

4.编写相同的两个微服务模块进行测试

通过order服务转发调用业务模块

注:将order服务注册到consul且开启负载均衡需要利用restTemplate发送请求时,不能通过端口发送,而是通过注册的域名发送请求

5.自定义loadbalancer

loadbalancer有两种算法 :轮询和随机

@Configuration
@LoadBalancerClient(//下面的value值大小写一定要和consul里面的名字一样,必须一样value = "cloud-payment-service",configuration = RestTemplateConfig.class)
public class RestTemplateConfig
{@Bean@LoadBalanced //使用@LoadBalanced注解赋予RestTemplate负载均衡的能力public RestTemplate restTemplate(){return new RestTemplate();}@BeanReactorLoadBalancer<ServiceInstance> randomLoadBalancer(Environment environment,LoadBalancerClientFactory loadBalancerClientFactory) {String name = environment.getProperty(LoadBalancerClientFactory.PROPERTY_NAME);return new RandomLoadBalancer(loadBalancerClientFactory.getLazyProvider(name, ServiceInstanceListSupplier.class), name);}
}

相关文章:

LoadBalancer (本地负载均衡)

1.loadbalancer本地负载均衡客户端 VS Nginx服务端负载均衡区别 Nginx是服务器负载均衡&#xff0c;客户端所有请求都会交给nginx&#xff0c;然后由nginx实现转发请求&#xff0c;即负载均衡是由服务端实现的。 loadbalancer本地负载均衡&#xff0c;在调用微服务接口时候&a…...

每日一题 第一期 洛谷 铺地毯

[NOIP2011 提高组] 铺地毯 https://www.luogu.com.cn/problem/P1003 题目描述 为了准备一个独特的颁奖典礼&#xff0c;组织者在会场的一片矩形区域&#xff08;可看做是平面直角坐标系的第一象限&#xff09;铺上一些矩形地毯。一共有 n n n 张地毯&#xff0c;编号从 1 …...

Linux 多线程开发

第三章 Linux 多线程开发 3.1 线程3.1.2 线程操作3.1.2 线程属性 3.2 线程同步3.2.1 互斥量/锁3.2.2 死锁3.2.3 读写锁 3.3 生产者消费者模型3.3.1 条件变量3.3.2 信号量/灯 网络编程系列文章&#xff1a; 第1章 Linux系统编程入门&#xff08;上&#xff09; 第1章 Linux系统…...

Android 9.0 关于在系统Launcher3中调用截图api总是返回null的解决方案

1.概述 在9.0的系统rom产品定制化开发中,在Launcher3的开发中,在某些时候需要调用截图接口来进行截屏功能实现,而在Launcher3中发现调用系统截屏接口SurfaceControl.screenshot进行截图的时候始终为null, 获取不到系统当前页面的截屏功能,所以需要找到当前截屏失败的原因然…...

openssl3.2 - exp - 用openssl命令行来模拟ECC加解密的全流程

文章目录 openssl3.2 - exp - 用openssl命令行来模拟ECC加解密的全流程概述笔记实验环境实验备注END openssl3.2 - exp - 用openssl命令行来模拟ECC加解密的全流程 概述 工程中要用到ECC加解密, 先去查了资料. 在网上能查到一些大佬们写的ECC加解密实现(基于openssl API), 不…...

【Linux进阶之路】HTTP协议

文章目录 一、基本概念1.HTTP2.域名3.默认端口号4.URL 二、请求与响应1.抓包工具2.基本框架3.简易实现3.1 HttpServer3.2 HttpRequest3.2.1 version13.2.2 version23.2.3 version3 总结尾序 一、基本概念 常见的应用层协议&#xff1a; HTTPS (HyperText Transfer Protocol Sec…...

股市新手福音:河北源达“财源滚滚”让投资变得更简单

在浩渺的股市海洋中&#xff0c;每一位投资者都渴望找到一把能够指引航向的罗盘。尤其是对于股市新手来说&#xff0c;面对复杂的市场环境、纷繁的个股信息以及不断变化的投资策略&#xff0c;如何快速入门、精准选股&#xff0c;无疑是一大挑战。而河北源达信息技术股份有限公…...

2024.02.14 校招 实习 内推 面经

绿*泡*泡VX&#xff1a; neituijunsir 交流*裙 &#xff0c;内推/实习/校招汇总表格 1、校招&社招 | 中国电子信息产业集团有限公司校园招聘 校招&社招 | 中国电子信息产业集团有限公司校园招聘 2、校招&社招 | 中核光电2024年春季校园招聘开启&#xff01; 校…...

5.Java并发编程—JUC线程池架构

JUC线程池架构 在Java开发中&#xff0c;线程的创建和销毁对系统性能有一定的开销&#xff0c;需要JVM和操作系统的配合完成大量的工作。 JVM对线程的创建和销毁&#xff1a; 线程的创建需要JVM分配内存、初始化线程栈和线程上下文等资源&#xff0c;这些操作会带来一定的时间和…...

llama2c(4)之forward、sample、decode

1、forward float* logits forward(transformer, token, pos); 输入transformer的参数&#xff0c;当前token&#xff0c;pos位置&#xff0c;预测出下一个token的预测值&#xff08;用矩阵乘&#xff0c;加减乘除等运算构成Transformer&#xff09; 其中&#xff0c;logits如…...

20240312-2-贪心算法

贪心算法 是每次只考虑当前最优&#xff0c;目标证明每次是考虑当前最优能够达到局部最优&#xff0c;这就是贪心的思想&#xff0c;一般情况下贪心和排序一起出现&#xff0c;都是先根据条件进行排序&#xff0c;之后基于贪心策略得到最优结果。 面试的时候面试官一般不会出贪…...

前端 --- HTML

1. HTML 结构 1.1 HTML 文件基本结构 <html><head><title>第一个html程序</title></head><body>hello world!</body> </html> html 标签是整个 html 文件的根标签(最顶层标签)head 标签中写页面的属性.body 标签中写的是页…...

curl c++ 实现HTTP GET和POST请求

环境配置 curl //DV2020T环境下此步骤可省略 https://curl.se/download/ 笔者安装为7.85.0版本 ./configure --without-ssl make sudo make install sudo rm /usr/local/lib/curl 系统也有curl库&#xff0c;为防止冲突&#xff0c;删去编译好的curl库。 对以json数据的解析使…...

12、设计模式之代理模式(Proxy)

一、什么是代理模式 代理模式属于结构型设计模式。为其他对象提供一种代理以控制对这个对象的访问。 在某些情况下&#xff0c;一个对象不适合或者不能直接引用另一个对象&#xff0c;而代理对象可以在客户端和目标对象之间起到中介的作用。 二、分类 代理模式分为三类&#…...

springboot集成Quartz定时任务组件

文章目录 前言一、Quartz 是什么&#xff1f;下面是对 Java 中 Quartz 的主要概念的简单描述&#xff1a; 二、使用步骤总结 前言 平时开发中相信大家都经常用到定时任务吧&#xff0c;最近简单的就是直接使用Scheduled注解标注到方法上用注解的方式在项目运行时无法去对任务进…...

代码随想录算法训练营第38天—动态规划06 | ● 完全背包 ● *518. 零钱兑换 II ● 377. 组合总和 Ⅳ

完全背包 视频讲解&#xff1a;https://www.bilibili.com/video/BV1uK411o7c9 https://programmercarl.com/%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80%E5%AE%8C%E5%85%A8%E8%83%8C%E5%8C%85.html 题目描述&#xff1a;有n件物品和一个最多能…...

C语言每日一题(63)复写零

题目链接 力扣网 1089 复写零 题目描述 给你一个长度固定的整数数组 arr &#xff0c;请你将该数组中出现的每个零都复写一遍&#xff0c;并将其余的元素向右平移。 注意&#xff1a;请不要在超过该数组长度的位置写入元素。请对输入的数组 就地 进行上述修改&#xff0c;不…...

ElasticSearch聚合查询

数据准备 索引创建 PUT product {"mappings": {"properties": {"createtime": {"type": "date"},"desc": {"type": "text","fields": {"keyword": {"type": …...

【毕设级项目】基于AI技术的多功能消防机器人(完整工程资料源码)

基于AI技术的多功能消防机器人演示效果 竞赛-基于AI技术的多功能消防机器人视频演示 前言&#xff1a; 随着“自动化、智能化”成为数字时代发展的关键词&#xff0c;机器人逐步成为社会经济发展的重要主体之一&#xff0c;“机器换人”成为发展的全新趋势和时代潮流。在可预见…...

【一】【设计模式】类关系UML图

1. 继承&#xff08;Generalization&#xff09; 继承是对象间的一种层次关系&#xff0c;允许子类继承并扩展父类的功能。 UML线&#xff1a;带有空心箭头的直线&#xff0c;箭头指向基类&#xff08;父类&#xff09;。 class Parent {public void parentMethod() {System.…...

S2-Pro卷积神经网络原理可视化教学工具开发

S2-Pro卷积神经网络原理可视化教学工具开发 1. 效果亮点开场 想象一下&#xff0c;当你第一次学习卷积神经网络(CNN)时&#xff0c;如果能直观看到每一层卷积核如何工作、特征图如何变化、网络如何逐步学习&#xff0c;那该多好。这正是我们开发的S2-Pro教学工具要解决的问题…...

3.3.1 eUICC Package Download and Execution: A Deep Dive into ES10b and ProfileRollback Mechanisms

1. eUICC包下载与执行的核心流程解析 想象一下你正在给远在另一个城市的智能水表更换运营商服务&#xff0c;就像给手机换SIM卡一样。但这里有个问题&#xff1a;你不可能亲自跑到每个水表旁边插拔SIM卡。这就是eUICC技术大显身手的时候了&#xff0c;它能让物联网设备远程切换…...

3分钟学会在Blender中安装和使用VRM插件:从零到精通完整指南

3分钟学会在Blender中安装和使用VRM插件&#xff1a;从零到精通完整指南 【免费下载链接】VRM-Addon-for-Blender VRM Importer, Exporter and Utilities for Blender 2.93 to 5.0 项目地址: https://gitcode.com/gh_mirrors/vr/VRM-Addon-for-Blender VRM Addon for Bl…...

从NetworkManager冲突到配置文件错误:一步步教你排查Linux网络服务故障

从NetworkManager冲突到配置文件错误&#xff1a;一步步教你排查Linux网络服务故障 当你深夜加班部署服务器时&#xff0c;突然发现网络服务无法启动&#xff0c;屏幕上跳出那行熟悉的Job for network.service failed错误提示&#xff0c;是不是瞬间血压飙升&#xff1f;作为L…...

如何利用内部链接来提高网站排名_网站 UX 设计对 SEO 的重要性是什么

如何利用内部链接来提高网站排名 在现代的网络环境中&#xff0c;如何提高网站在搜索引擎中的排名成为了每一个网站运萈者的首要任务。其中&#xff0c;内部链接和网站用户体验&#xff08;UX&#xff09;设计在搜索引擎优化&#xff08;SEO&#xff09;中扮演了至关重要的角色…...

手把手教你用树莓派GPIO点个灯:从Python到C语言三种方法全搞定

树莓派GPIO实战&#xff1a;Python与C语言点亮LED的三种经典方案 第一次拿到树莓派时&#xff0c;最让人兴奋的莫过于那些整齐排列的GPIO引脚——它们就像通往物理世界的大门。而点亮一个LED&#xff0c;无疑是推开这扇门最经典的"Hello World"。但你知道吗&#xff…...

Qwen-Image-Edit-F2P结合YOLOv8实现智能人像编辑:目标检测应用案例

Qwen-Image-Edit-F2P结合YOLOv8实现智能人像编辑&#xff1a;目标检测应用案例 你有没有想过&#xff0c;给照片里的人换个发型、加副眼镜&#xff0c;或者换个背景&#xff0c;能有多简单&#xff1f;过去这可能需要专业的设计师&#xff0c;花上不少时间在Photoshop里一点点…...

OpenClaw学习助手:Qwen3-4B自动整理课程视频字幕与重点

OpenClaw学习助手&#xff1a;Qwen3-4B自动整理课程视频字幕与重点 1. 为什么需要AI学习助手 作为一个经常通过在线课程充电的技术从业者&#xff0c;我长期被一个问题困扰&#xff1a;看完几个小时的教学视频后&#xff0c;很难系统性地回顾重点内容。传统做法是边看边记笔记…...

s2-pro开源TTS价值:填补中文专业级开源语音合成模型空白

s2-pro开源TTS价值&#xff1a;填补中文专业级开源语音合成模型空白 1. 为什么我们需要专业级中文TTS 在语音技术领域&#xff0c;中文语音合成(TTS)长期面临一个尴尬局面&#xff1a;虽然商业解决方案众多&#xff0c;但高质量的开源模型却寥寥无几。这种状况直到s2-pro的出…...

快速验证科研工具想法:用快马AI十分钟搭建中科院分区查询原型

作为一名科研工作者&#xff0c;我经常需要查询期刊的中科院分区信息。传统方式要么是手动查阅PDF表格&#xff0c;要么依赖第三方收费工具&#xff0c;效率很低。最近尝试用InsCode(快马)平台快速搭建了一个查询原型&#xff0c;整个过程比想象中简单很多。 需求分析 首先明确…...