Springboot 实践(20)负载均衡器Ribbon

news2024/9/29 15:32:50

        Ribbon是Netflix发布的负载均衡器,协助控制HTTP和TCP客户端的行为;为Ribbon配置服务提供者地址后,Ribbon就可基于负载均衡算法自动地帮助服务消费者去请求。Ribbon默认提供了很多负载均衡算法,例如:轮询、随机等;也可以为Ribbon实现自定义负载均衡算法。

        创建消费者工程,命名为Springboot-LoadBalance-consumer2项目,拷贝Springboot-LoadBalance-consumer工程,修改如下内容:

1、启动函数

@EnableDiscoveryClient

@SpringBootApplication

public class MangoConsumerApplication {

    public static void main(String[] args) {

        SpringApplication.run(MangoConsumerApplication.class, args);

    }

  

    @Bean

    @LoadBalanced

    public RestTemplate restTemplate() {

        return new RestTemplate();

    }

}

备注:@LoadBalanced注解的作用是对服务开启负载均衡,默认的负载均衡方式是轮询。

2、添加服务

        新建一个控制类,注入RestTemplate,并调用服务提供者hello服务。

@RestController

public class RibbonHelloController {

    @Autowired

    private RestTemplate restTemplate;   

    @RequestMapping("/ribbon/call")

    public String call() {

        String callServiceResult = restTemplate.getForObject("http://mango-producer/hello", String.class);

        return callServiceResult;

    }

}

备注:使用http:// service-producer/hello调用服务, service-producer为注册的服务名称,LoadBalancerInterceptor会拦截调用并根据服务名找到对应的服务。

3、测试

在浏览器中连续两次使用http://localhost:8006/ribbon/call调用服务,得到结果如下:

说明ribbon负载均衡已经成功启动了。

4、ribbon负载均衡策略配置方式

(1)在配置类中注入一个新的IRule(举例为随机均衡策略,当然这种为全局进行配置,也就是该服务中得分所有规则都将采用配置得负载均衡规则。)

@Bean

public IRule randomRule(){

return new RandomRule();

}

(2)在yml文件中进行配置(这样得配置可以针对某一个服务改变他得负载均衡策略,以下图中就只针对了service-producer服务及逆行配置,也就是说在本服务下,只有service-producer采取随机负载均衡策略,其他得服务还是轮询负载均衡策略。)

service-producer:

          ribbon:   

              NFLoadBalancerRuleClassName:

                   com.netflix.loadbalancer.RandomRule #负载均衡规则

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

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

相关文章

ETLCloud助力富勒TMS实现物流数仓同步

富勒TMS提供了多种运输管理业务的解决方案,极大的方便了企业对物流的管理和人力输出,同时提供了大量的API接口,供用户做数据集成和数仓同步。 通过富勒TMS中心,第三方开发者和商家可实现以下功能: MS系统数据同步&…

【智能家居-大模型】构建未来,聆思大模型智能家居交互解决方案正式发布

LISTENAI 近日,国内11家大模型陆续通过《生成式人工智能服务管理暂行办法》备案,多家大模型产品已正式开放,激发了新一轮大模型热潮。大模型在自然语言理解方面的巨大突破,实现了认知智能的技术跃迁,带来了时代的智慧…

记:lora及lorawan的一些概念话

目录 lora常用概念缩写 扩频因子(SF) 编码率(CR) 信号带宽(BW) lora发送参数关系 lora数据包结构 前导码 报头 低数据速率优化 如何简单直白的去理解lorawan协议 水表 电表 Rx1 和 Rx2 ABP 和…

vue-cli创建项目、vue项目目录结(运行vue项目)、es6导入导出语法、vue项目编写规范

vue-cli创建项目、编写vue项目、 1 vue-cli创建项目 1.1 vue-cli 命令行创建项目 1.2 使用vue-cli-ui创建 2 vue项目目录结构 2.1 运行vue项目 2.2 vue项目的目录结构 3 es6导入导出语法 4 vue项目编写规范 4.1 修改项目 4.2 以后写vue项目,只需要在固定位置…

用了 TCP 协议,就一定不会丢包吗?

表面上我是个技术博主。 但没想到今天成了个情感博主。 我是没想到有一天,我会通过技术知识,来挽救粉丝即将破碎的感情。 掏心窝子的说。这件事情多少是沾点功德无量了。 事情是这样的。 最近就有个读者加了我的绿皮聊天软件,女生&#xff0c…

1.1 安装配置CentOS

文章目录 零、学习目标一、导入新课二、新课讲解(一)安装VMWare Workstation1、获取安装程序2、进入安装向导3、按提示完成安装 (二)虚拟网络编辑器1、启动虚拟网络编辑器2、选择VMnet8虚拟网3、更改网络配置4、查看DHCP设置5、查…

avi怎么转换成视频?

avi怎么转换成视频?在我们日常使用的视频格式中,AVI是一种常见且经常被使用的音频视频交叉格式之一。它的优点之一是占用的存储空间相对较小,但也明显存在着画质损失的缺点。虽然AVI格式的视频在某种程度上也很常见,但与最常见的M…

什么情况下使用微服务?

单体架构图参考网络: 1. 什么是单体应用 单体应用就是将应用程序的所有功能都打包成一个独立的单元,最终以一个WAR包或JAR包存在,没有外部的任何依赖,里面包含DAO、Service、UI等所有的逻辑。 优点: 1&…

Multisim14.0仿真(十九)两片74LS138接成4线16线译码器

一、仿真原理图: 二、仿真效果图:

win系统环境搭建(五)——Windows安装redis

windows环境搭建专栏🔗点击跳转 win系统环境搭建(五)——Windows安装redis 本系列windows环境搭建开始讲解如何给win系统搭建环境,本人所用系统是腾讯云服务器的Windows Server 2022,你可以理解成就是你用的windows10…

一台主机外接两台显示器

一台主机外接两台显示器 写在最前面双屏配置软件双屏跳转 写在最前面 在使用电脑时需要运行多个程序,时不时就要频繁的切换,很麻烦 但就能用双屏显示来解决这个问题,用一台主机控制,同时外接两台显示器并显示不同画面。 参考&a…

【运维篇】三、SLF4J与Logback

文章目录 0、Java的门面设计模式1、SLF4J2、作用3、调试4、SpringBoot采用SLF4JLogback5、切换SpringBoot的日志框架6、logback的配置加载7、logback的配置组成8、logback之logger9、logback之appender10、logback之pattern11、appender的Filter12、logback.xml全解释13、logba…

带你读懂任正非先生的最新讲话——与ICPC代表讲话纪要(一)

2023年9月19日,在ICPC中国赛区北京总部的官网(设立在北京大学)上发布了一条新闻:《今天我们汇聚一堂,明天我们将奔向四面八方——任正非与ICPC基金会及教练和金牌获得者的学生的谈话纪要》。 2023年8月21日和8月26日&a…

Java笔记:Java虚拟机的指令

1. 字节码指令集 1.1 概述 Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字(称为操作码,Opcode) 以及跟随其后的零至多个代表此操作所需参数(称为操作数,Operands)而构成。 比如&#x…

对话ChatGPT:AIGC时代下,分布式存储的应用与前景

随着科技的飞速发展,我们正步入一个被称为AIGC时代的全新阶段,人工智能、物联网、大数据、云计算成为这个信息爆炸时代的主要特征。自2022年11月以来,ChatGPT的知名度迅速攀升,引发了全球科技爱好者的极大关注,其高超的…

【23种设计模式】装饰模式(九)

前言 装饰模式,英文名称:Decorator Pattern。我第一次看到这个名称想到的是另外一个词语“装修”,我就说说我对“装修”的理解吧,大家一定要看清楚,是“装修”,不是“装饰”。在房子装修的过程中,各种功能可…

Jenkins学习笔记3

gitgithubjenkins: 架构图: 说明:jenkins知道github有更新了,就pull进行构建build,编译、自动化测试。然后部署到应用服务器。 maven java的项目构建工具。 在开发者电脑上创建空密码密钥对。 [rootgit-developer ~…

系统架构设计师-数据库系统(3)

目录 一、数据控制 1、安全性 2、完整性 3、并发控制 4、故障恢复 二、数据库设计概述 1、数据库设计关注的问题 2、数据库性能优化 3、规范化与反规范化 一、数据控制 1、安全性 2、完整性 (1)实体完整性约束:规定基本关系的主属性不能取空…

论文写作格式经验

论文写作经验: 交叉引用 在公式后输入#(1),回车选中(1),选择插入->添加书签,自定义书签名交叉引用->引用类型:书签一个公式对应一个书签 这样就可以只显示公式编号了 word转p…

数据的力量,环保的未来!气象信息采集系统解决方案助您实现环境优化

小伙伴们,今天给大家讲一个真实的案例,看看如何用气象信息采集系统提高环保监测能力。 随着环境污染问题越来越严重,许多城市都开始建设空气质量监测站,对各类污染数据进行采集。但是传统的监测站设备复杂,采集范围有限,这就需要用到工业物联网的解决方案。 我们公司参与建设了…