六. Ribbon —— 客户端负载均衡 —— 实现源码

news/2024/7/10 0:44:48 标签: ribbon, 负载均衡, spring cloud, spring boot, mysql

Ribbon是一个客户端负载均衡器,在配置文件中列出Load Balancer后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器,容易使用Ribbon实现自定义的负载均衡算法
                            (上面的 microservice-provider-user 为提供者子微服务可以重复启动,只需要更改 application.yml 文件中配置的端口号 port 和已经启动相同子微服务但端口号不重复即可,
                             通过 Ribbon(客户端负载均衡)中的策略进行访问提供者多个相同但端口号不同的子微服务来实现客户端负载均衡原理 )

      Ribbon工作时分为两步:
                         第一步先选择 Eureka Server, 它优先选择在同一个Zone且负载较少的Server;
                         第二步再根据用户指定的策略,在从Server取到的服务注册列表中选择一个地址。其中Ribbon提供了多种策略,例如轮询round robin、随机Random、根据响应时间加权等.

                                                                                                 

                        
                                                     ———————————————— Eureka             Server ————————————————
                                      ^            /                                    


http://www.niftyadmin.cn/n/1554231.html

相关文章

mysql唯一索引引发的_加唯一索引导致丢数据?

给身份证号字段加上索引,再用身份证号来查就快了。由于身份证号是不会重复的,也有的DBA会创建唯一索引。唯一索引当然也可以用来加速查询,它跟普通索引的区别是什么呢?【唯一索引额外功能】为了便于说明,我们创建一个简…

七. Feign —— Feign是Netflix开发的声明式、模板化的HTTP客户端, Feign可以帮助我们更快捷、优雅地调用HTTP API(页面访问时传递多个参数,使用Feign在服务端可以设

@RequestParam 可以接收页面传递多个参数,接收时可以不使用单一参数或实体类方式接收) —— 实现源码 Feign 的负载均衡包含 Ribbon 功能 —— 使用Feign时已经包含了Ribbon功能 —— Feign内置Hystrix和Ribbon功能 1.…

pythonlist set_Python中list和set的区别

list:字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List:L [12, China, 19.998]可以看到并不要求元素的类型都是一样的。当然也可以定义一个空的List:L []Python中的List是有序的,所以要访问L…

八.微服务容错(spring cloud断路器使用方式, eureka+Ribbon+Hystrix) —— 实现源码

1. 雪崩效应 (AB)——>C——>D :表示当D微服务错误关闭时,C的请求会发生错误,直到C也错误关闭,AB相继错误关闭 2. 实现容错的方案 2.1. 为请求设置超时 通过网络请求其他服务时,都必须设置超时。正常情况下,一个远程调用一般在几十毫秒内就能得到响应了。如果依…

python中的队列_简析Python中的四种队列

队列是一种只允许在一端进行插入操作,而在另一端进行删除操作的线性表。在Python文档中搜索队列(queue)会发现,Python标准库中包含了四种队列,分别是queue.Queue / asyncio.Queue / multiprocessing.Queue / collections.deque。collections.…

九.微服务容错(spring cloud断路器使用方式, eureka+Feign+Hystrix)—— Feign内置Hystrix和Ribbon功能 —— 实现源码

1. maven子项目 microservice-consumer-movie-feign-with-hystrix —— 注册到 microservice-discovery-eureka 项目提供的 Eureka Server 服务上 —— 第六启动服务 1.1. 创建子微服务 main方法加载 SpringApplication 启动 Eureka Server 服务 …

python教程的主要知识点_Python常用知识点汇总

1、Set基本数据类型a、set集合,是一个无序且不重复的元素集合class set(object):"""set() -> new empty set objectset(iterable) -> new set objectBuild an unordered collection of unique elements."""def add(self, *args…

十.子微服务调用子微服务时配置http在yml文件中的使用方式,此配置方式不好维护(需要更改yml配置文件)不推荐使用 —— 然而使用Ribbon(客户端负载均衡的子微服务)使用服务发现到eureka

1. maven子项目 microservice-consumer-movie —— 注册到 microservice-discovery-eureka 项目提供的 Eureka Server 服务上 —— 第三启动服务 1.1. 创建子微服务 main方法加载 SpringApplication 启动 Eureka Server 服务 文件地址 —— microserv…