iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >SpringCloudRibbon客户端详细介绍
  • 541
分享到

SpringCloudRibbon客户端详细介绍

2024-04-02 19:04:59 541人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录前言LB负载均衡(Load Balance)是什么Ribbon核心组件IRule前言 spring cloud Ribbon是基于Netflix Ribbon实现的一套客户端 负

前言

spring cloud Ribbon是基于Netflix Ribbon实现的一套客户端 负载均衡的工具。(负载均衡+RestTemplate调用)

简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。我们很容易使用Ribbon实现自定义的负载均衡算法。

官网地址-传送门

LB负载均衡(Load Balance)是什么

简单的说就是将用户的请求平摊的分配到多个服务上,从而达到系统的HA(高可用)。

常见的负载均衡有软件Nginx,LVS,硬件 F5等。

Ribbon本地负载均衡客户端 VS Nginx服务端负载均衡区别

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

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

集中式LB-->

即在服务的消费方和提供方之间使用独立的LB设施(可以是硬件,如F5, 也可以是软件,如nginx), 由该设施负责把访问请求通过某种策略转发至服务的提供方;

进程内LB-->

将LB逻辑集成到消费方,消费方从服务注册中心获知有哪些地址可用,然后自己再从这些地址中选择出一个合适的服务器。

Ribbon就属于进程内LB,它只是一个类库,集成于消费方进程,消费方通过它来获取到服务提供方的地址。

Ribbon核心组件IRule

IRule:根据特定算法中从服务列表中选取一个要访问的服务

如何替换

官方文档明确给出了警告:

这个自定义配置类不能放在@ComponentScan所扫描的当前包下以及子包下,

否则我们自定义的这个配置类就会被所有的Ribbon客户端所共享,达不到特殊化定制的目的了。

修改为随机

@Configuration
public class MySelfRule
{
    @Bean
    public IRule myRule()
    {
        return new RandomRule();//定义为随机
    }
}
@SpringBootApplication
@EnableEurekaClient
@RibbonClient(name = "CLOUD-PAYMENT-SERVICE",configuration=MySelfRule.class)
public class OrderMain80
{
    public static void main(String[] args)
    {
        springApplication.run(OrderMain80.class,args);
    }
}

到此这篇关于Spring Cloud Ribbon客户端详细介绍的文章就介绍到这了,更多相关Spring Cloud Ribbon内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: SpringCloudRibbon客户端详细介绍

本文链接: https://www.lsjlt.com/news/166612.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringCloudRibbon客户端详细介绍
    目录前言LB负载均衡(Load Balance)是什么Ribbon核心组件IRule前言 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端 负...
    99+
    2024-04-02
  • 服务端和客户端的区别及介绍
    客户端和服务器通常是值互联网硬件所扮演的主要角色。客户端又称为用户端,与服务器相对应,与服务器端相互配合运行。 下面是两者的不同点: 1、定义不同 客户端:或称为用户端,是指与服务器相对应,为客...
    99+
    2023-08-31
    firefox 服务器 windows
  • MongoDB客户端工具NoSQL Manager for MongoDB介绍
    目录一、安装二、连接客户端三、基本的日常操作1、shell2、日常数据增删改查① 可以在shell命令行执行。② 也可以直接通过GUI来实现。3、表复制① 数据库内复制表。② 跨数据...
    99+
    2024-04-02
  • springMVC详细介绍
    目录springMVC简介SpringMVC框架的优点第一个SpringMVC程序第一步:创建maven-web项目第二步:在pom.xml中添加依赖和插件第三步注册中央调度器第四步...
    99+
    2024-04-02
  • OAuth2 详细介绍!
    目录 一、文章介绍 二、OAth2 2.1 简介 2.2 OAuth2  授权总体流程 2.3 四种授权模式 1.授权码模式 2.简化模式 3.密码模式 4. 客户端模式 2.4 OAuth2 标准接口 2.5 GitHub 授权登录 1...
    99+
    2023-09-15
    github java
  • DockerCompose详细介绍
    目录一、Docker Compose的安装二、Docker Compose的基本使用三、Docker Compose的高级功能四、总结一、Docker Compose的安装 Dock...
    99+
    2023-05-16
    Docker Compose详解 Docker Compose
  • linux下frp客户端服务端部署(超详细)
    实际需求:实时远程项目现场的arm工控机的ssh以及应用的web页面 现场环境:arm工控机可以通过4g路由器上网,但是使用普通流量卡没有公网IP,无法直接通过公网IP来访问设备的ssh以及web服务 应用技术:内网穿透,反向代理 开...
    99+
    2023-09-02
    linux 运维 服务器 Powered by 金山文档
  • 关于UDP服务器客户端编程流程介绍
    目录UDP编程流程UDP服务端代码实现UDP客户端代码实现UDP服务端客户端代码详解UDP编程流程 UDP提供的是无连接、不可靠的、数据报服务 UDP是尽最大能力进行传输,但是并不...
    99+
    2024-04-02
  • javascript this详细介绍
    this的值是在运行时确定的  JS中的this究竟代表什么,这是在程序运行时根据上下文环境确定,可以分为以下几种情况。  1. 全局作用域中的this  在全局作用域中,this指向window对象。    1  2  3  4  5  ...
    99+
    2023-06-03
  • 【JAVA IO 详细介绍】
    JAVA IO 详细介绍 目录一、什么是IO?1.1 IO的介绍1.2 流的介绍1.2.1 流的特征1.2.2 数据流的特征1.2.3 输入流的特征1.2.4 输出流的特征 二、...
    99+
    2023-10-26
    java
  • Java maven详细介绍
    目录maven什么是maven仓库的种类仓库的配置本地仓库配置私服配置中央仓库配置maven标准目录结构常用命令maven项目的生命周期pom.xml依赖适用域总结maven 什么是...
    99+
    2024-04-02
  • Flink的详细介绍
    这篇文章主要介绍“Flink的详细介绍”,在日常操作中,相信很多人在Flink的详细介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Flink的详细介绍”的疑惑有所帮助!接...
    99+
    2024-04-02
  • rabbitMQ的详细介绍
    1.概述 RabbitMQ是一个消息中间件:它接受并转发消息。你可以把它当做一个快递站点,当你要发送一个包裹时,你把你的包裹放到快递站,快递员最终会把你的快递送到收件人那里,按照这种逻辑RabbitMQ是一个快递站,一个快递员帮你传递快件。...
    99+
    2023-09-05
    rabbitmq npm linux java 分布式
  • Java Socket实现Redis客户端的详细说明
    Redis是最常见的缓存服务中间件,在java开发中,一般使用 jedis 来实现。 如果不想依赖第三方组件,自己实现一个简单的redis客户端工具,该如何实现呢?本文就是介绍这样一...
    99+
    2024-04-02
  • 阿里云服务器7000端口详细介绍
    阿里云服务器7000端口是一个常用于服务器间通信的端口,它是TCP端口的一种,通常用于网络应用程序的通信,如HTTP、FTP等。本文将详细讲解阿里云服务器7000端口的位置以及它在服务器中的应用。 阿里云服务器7000端口的位置:阿里云服务...
    99+
    2023-10-30
    阿里 详细介绍 端口
  • HTTP协议详细介绍
    我们日常生活中经常会使用浏览器访问Web站点这个过程中到底发生了什么吗?为什么我们在浏览器地址栏上面输入要访问的URL后就可以访问到Web页面呢?这几乎是面试过程中的高频问题。 简单...
    99+
    2024-04-02
  • JavaSPI机制详细介绍
    目录为什么需要SPI?什么是SPI?SPI和API的区别来人,上点对抗spi-providerspi-user总结为什么需要SPI? 思考一个场景,我们封装了一套服务,别人通过引入我...
    99+
    2024-04-02
  • C++继承详细介绍
    在我们进行开发的时候,我们经常会遇到抽象出来的类之间具有继承关系。 举个简单的例子,比如我们在设计某游戏,当中需要定义Human也就是人这个类。每个人有名字,以及一定的血量,能够工作...
    99+
    2024-04-02
  • token与JWT详细介绍
    token介绍 Token 的中文意思是"令牌"。主要用来身份验证。比传统的身份验证方法,Token 有扩展性强,安全性高的特点,非常适合用在 Web 应用或者移动应用上。 它是服务端生成的字符串,作为客户端进行请求的一个标识。 token...
    99+
    2023-08-31
    java
  • AndroidCrash与ANR详细介绍
    目录Crash空指针角标越界集合元素删除操作异步操作后对界面元素的处理Intent传递数据过大在子线程中操作UIANRCrash Crash是指程序闪退,导致APP不能正常使用。Cr...
    99+
    2022-11-13
    Android Crash Android ANR
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作