Ribbon负载均衡(1)---学习微服务

本文探讨了Ribbon在分布式系统中的负载均衡作用,以及CAP理论在高可用性中的应用。提到集群化解决高并发问题,指出单台服务器难以承受大规模并发,并介绍了Ribbon与RestTemplate的结合实现服务间的负载均衡。同时,文章比较了Ribbon与Nginx的使用场景,强调Ribbon在微服务中的便捷性。文中还提及了Ribbon的配置方式,包括全局和局部配置,并通过测试验证其默认负载策略为轮询。最后,讨论了配置覆盖问题和fastjson的类型转换配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.根据视频慢慢的好好的做总结

Ribbon起到了负载均衡的作用。
在分布式中,CAP理论,ap有可能,c很难做到。
C(一致性):所有的节点上的数据时刻保持同步
A(可用性):每个请求都能接受到一个响应,无论响应成功或失败
P(分区容错):系统应该能持续提供服务,即使系统内部有消息丢失(分区)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
集群化就是为了提高网站的高可用和高并发。

一个tomcat能够承载的并发量400-800个。
那么一个服务器能够装多少个tomcat.需要压测软件。
如果想要上千万并发量,一台服务器几乎不可能做到,除非是银河计算机,
所以要承受高并发,高可用肯定是要做集群部署的。异步多活,在全国各地去部署服务器。跨区域通过消息列队,去通讯,从而实现高可用。不可能把一个鸡蛋都放在一个篮子里,这样风险太大了,就像投资基金和股票一样。实现这些就是靠负载均衡器。

并发几百个请求没问题,但是每天的总量还是很大的。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

Nginx也能做负载均衡,为什么不用呢?为什么要学习Ribbon呢?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
端口冲突,合并非常麻烦,规划要合理,各种成本非常高,nginx是可以做到的,杀鸡焉用牛刀。开发还要启动和重启nginx,时间都在运维。时间成本也高,出现很多麻烦事。所以要抛弃使用nginx.它是外部的负载均衡器。不停的在外面配置nginx,启动关闭nginx就很麻烦。
最后在网关那层还是用nginx,外部流量分发使用nginx即可。
在这里插入图片描述

Ribbon跟RestTemplate有关,非常强大,达到负载均衡的能力。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
执行猜想,加了@LoadBalance注解,肯定成为了代理对象RestTemplate,
拦截服务请求,从注册中心的服务列表找到服务器名,通过负载均衡机制,
找到服务器名字进行访问。至于是轮询,权重,随机,固定策略还有待进一步确认。

bootstrap作用就是把微服务的注册配置与单体项目配置文件做隔离区分!有利于更好地管理配置文件。
在这里插入图片描述
在这里插入图片描述
先运行注册中心,再运行服务提供者和服务消费者。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

通过测试,Ribbon默认负载均衡的机制是轮询。RoundRobinRule简单轮询。自旋锁判别唯一性.全局计数器的增加,用了自旋锁保证安全性和可靠性。
不用自旋锁,如果用分布式的计数器,那就需要额外学习成本,没有必要了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Ribbon有全局配置和局部配置,因为注册中心有很多服务注册再服务列表上,使用全局配置有点太大了,每个服务肯定有或多或少的差异性,所以一般局部配置比较普遍。
全局配置如下:
在这里插入图片描述
接下来注释掉全局配置看看局部配置如何使用:

Ribbon也是用springboot开发的,Ribbon也是由springioc容器管理的,所以可以替换。
在这里插入图片描述
fastjson long类型没有转换,我们不可能去修改它的源码,只能在配置类自己去配置,把它修改掉。覆盖不了怎么办?加上@Primary的spring注解,是自己的配置类优先级提高。

在这里插入图片描述

2.实践
3.总结
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值