Ribbon负载均衡器(Ribbon简介、Ribbon应用、Ribbon是如何做到的、Hystrix熔断器、线程隔离服务降级、总结)

本文主要是介绍Ribbon负载均衡器(Ribbon简介、Ribbon应用、Ribbon是如何做到的、Hystrix熔断器、线程隔离服务降级、总结),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、Ribbon简介

            负载均衡:是一个算法,可以通过该算法实现从地址列表中获取一个地址,进行服务调用。
            Ribbon(瑞本):是Netflix(来福利)公司发布的负载均衡器,为Ribbon配置服务提供者地址列表后,Ribbon就可以基于某种负载均衡算法,自动帮助消费端去请求。
            Ribbon提供的负载均衡算法:轮询(默认) 和 随机

二、Ribbon应用

1、创建服务集群

        启动多个userservice实例(9090,9091)

(1)userservice 中修改 application.yml

           

           

 (2)启动2个服务

2、修改客户端

         RestTemplate实例化方法,添加负载均衡注解

         

3、Controller 修改

         

三、Ribbon是如何做到的?

        

四、Hystrix熔断器

        Hystrix(海思缀科斯)熔断器:是一个延迟和容错库,用于隔离访问远程服务,防止出现级联失败

       主要作用:解决雪崩效应(用户的请求一直等待一个出现异常的服务,致使请求的线程阻塞,引起雪崩效应)

五、线程隔离&服务降级

Hystrix解决雪崩效应方式
* 线程隔离:用户请求不直接访问服务,而是使用线程池中空闲的线程访问服务,加速失败判断时间
* 服务降级及时返回服务调用失败的结果,让线程不因为等待服务而阻塞

实例:

1、consumer_demo消费工程中添加依赖

        <!--hystrix熔断器--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix</artifactId></dependency>

2、消费工程启动类中 开启熔断

       

3、消费工程 Controller编辑降级逻辑

       

       

4、application.yml配置超时时间

hystrix:command:default:execution:isolation:thread:timeoutInMilliseconds: 2000  #配置默认的超时时间

六、总结

      

        

这篇关于Ribbon负载均衡器(Ribbon简介、Ribbon应用、Ribbon是如何做到的、Hystrix熔断器、线程隔离服务降级、总结)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Spring Boot3虚拟线程的使用步骤详解

《SpringBoot3虚拟线程的使用步骤详解》虚拟线程是Java19中引入的一个新特性,旨在通过简化线程管理来提升应用程序的并发性能,:本文主要介绍SpringBoot3虚拟线程的使用步骤,... 目录问题根源分析解决方案验证验证实验实验1:未启用keep-alive实验2:启用keep-alive扩展建

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

SpringCloud之LoadBalancer负载均衡服务调用过程

《SpringCloud之LoadBalancer负载均衡服务调用过程》:本文主要介绍SpringCloud之LoadBalancer负载均衡服务调用过程,具有很好的参考价值,希望对大家有所帮助,... 目录前言一、LoadBalancer是什么?二、使用步骤1、启动consul2、客户端加入依赖3、以服务

SpringCloud负载均衡spring-cloud-starter-loadbalancer解读

《SpringCloud负载均衡spring-cloud-starter-loadbalancer解读》:本文主要介绍SpringCloud负载均衡spring-cloud-starter-loa... 目录简述主要特点使用负载均衡算法1. 轮询负载均衡策略(Round Robin)2. 随机负载均衡策略(