SpringCloud(二)—-Ribbon简介

SpringCloud(二)—-Ribbon简介

一、Ribbon简介

在之前我们已经学习过服务器的负载均衡,通过nginx实现的。既然有服务器的负载均衡,那也有客户端的负载均衡,就是Ribbon。
在这里插入图片描述

执行流程:

用户向nginx发起请求,nginx根据权重访问所代理中的一个服务器,也就是applicationClient,applicationClient通过ribbon进行负载均衡算法计算出访问的application service的uri,根据uri访问applicationservice

二.为什么叫做ribbon 叫做客户端负载均衡

由于Ribbon是在ApplicationClient方使用,所以称为客户端负载均衡

三.Ribbon原理

在项目开发中,所有的项目都会注册到Eureka中,允许不同项目的spring.application.name相同的,当相同时会认为这些项目是一个集群.
ApplicationClient会从Eureka中根据spring.application.name加载ApplicationService的列表,根据设定的负载均衡算法,从列表中取出一个URL,到此Ribbon的事情就结束了,剩下的事情由程序员自己进行技术选型,选择一个HTTP协议工具,通过这个URL调用service

注意:以下事情和Ribbon没有关系的
Application Service注册到Eureka过程。这是Eureka的功能。
Application Client从Eureka取出注册列表。这是Eureka的功能。
Application Client 通过URL访问Application Service。具体实现可以自己进行选择使用哪个HTTP工具。

只有Application Client从Eureka中取出列表后进行负载均衡算法的过程和Ribbon有关系。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2331.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2021 goland mac 激活码-激活码分享[通俗易懂]

    (2021 goland mac 激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月20日
    592
  • strtok函数详解

    strtok函数详解strtok函数

    2022年7月14日
    22
  • 元素守恒计算方法_leetcode免费吗

    元素守恒计算方法_leetcode免费吗给定一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。示例:输入:nums = [5,2,6,1]输出:[2,1,1,0] 解释:5 的右侧有 2 个更小的元素 (2 和 1)2 的右侧仅有 1 个更小的元素 (1)6 的右侧有 1 个更小的元素 (1)1 的右侧有 0 个更小的元素提示:0 <= nums.length <= 10^5-10^4

    2022年8月8日
    2
  • A*算法之八数码问题 python解法

    A*算法之八数码问题python解法文章目录A*算法之八数码问题python解法问题描述A*算法与八数码问题状态空间的定义各种操作的定义启发式函数的定义人工智能课程中学习了A*算法,在耗费几小时完成了八数码问题和野人传教士问题之后,决定写此文章来记录一下,避免忘记问题描述在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了使题目简单,设目标状态为12380

    2022年4月6日
    60
  • 超分辨率重建SRCNN–Matlab 7.0中运行

    终于找到一个可以在自己电脑中运行的超分辨率重建程序了,Matlab7.0真的是太老了(实际上是自己的笔记本太老了,哈哈)demo_SR.m%=========================================================================%超分辨率卷积神经网络(SRCNN)的测试码%%参考文献%ChaoDong,C…

    2022年4月6日
    217
  • java中数组怎么定义_java中数组的定义

    java中数组怎么定义_java中数组的定义展开全部数组的定义语法有两种:typearrayName[];type[]arrayName;type为Java中的任意数据类62616964757a686964616fe58685e5aeb931333365646364型,包括基本类型和组合类型,arrayName为数组名,必须是一个合法的标识符,[]指明该变量是一个数组类型变量。/***数组的三种定义方法**1.数组类型[]数…

    2022年7月7日
    25

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号