Ribbon,Nginx,Feign相关概述

本文详细介绍了Nginx作为代理服务器的工作原理,Feign如何整合Ribbon和Hystrix实现服务间调用及负载均衡,以及Ribbon在客户端负载均衡中的作用。同时对比了Nginx与Ribbon、Feign与Ribbon的区别。

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

Nginx

Nginx是个代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。

在这里插入图片描述

Feigin

Feign默认集成了Ribbon,具有负载均衡的能力;整合了Hystrix,具有熔断的能力。 Feign基于动态代理模式,根据注解和通过Ribbon选择的机器,拼接请求URL地址,发起请 求。

Ribbon

Springcloud Ribbon是基于Netflix Ribbon实现的一套 客户端 负载均衡的工具

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

Ribbon和Nginx的区别

nginx是客户端,所有请求统一交给nginx,由nginx进行实现负载均衡请求转发,属于服务器端负载均衡。即请求由nginx服务器端进行转发。
Ribbon是从eureka注册中心服务器端上获取服务注册信息列表,缓存到本地,让后在本地实现rpc远程调用技术进行调用,轮训负载均衡策略。既在客户端实现负载均衡。

Ribbon和Feigin的区别

Ribbon需要自己构建http请求,模拟http请求然后使用 RestTemplate发送给其他服务,开发步骤繁琐。Feign则是在Ribbon的基础上进行了一次 改进,基于动态代理模式,将需要调用的其他服务的方法定义成抽象方法即可,不需要自己 构建http请求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值