微服务(5)

目录

21.如何实现动态Zuul网关路由转发?

22.Zuul网关如何搭建集群?

23.Ribbon是什么?

24.Nginx和Ribbon的区别?

25.Ribbon底层实现原理?


21.如何实现动态Zuul网关路由转发?

通过path配置拦截请求,通过ServiceId到配置中心获取转发的服务列表,Zuul内部使用Ribbon实现本地负载均衡和转发。

22.Zuul网关如何搭建集群?

使用Nginx的upstream设置Zuul服务集群,通过location拦截请求并转发到upstream,默认使用轮询机制对Zuul集群发送请求。

23.Ribbon是什么?

Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法。

Ribbon

客户端组件提供一系列完善的配置项,如连接超时,重试等。

简单的说,就是在配置文件中列出后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。我们也很容易使用Ribbon实现自定义的负载均衡算法。(有点类似Nginx)

24.Nginx和Ribbon的区别?

Nginx是反向代理同时可以实现负载均衡,Nginx拦截客户端请求采用负载均衡策略根据upstream配置进行转发,相当于请求通过Nginx服务器进行转发。

Ribbon是客户端负载均衡,从注册中心获取目标服务器信息,然后客户端采用轮询策略对服务直接访问,全程在客户端操作。

25.Ribbon底层实现原理?

Ribbon使用discoveryClient从注册中心读取目标服务信息,对统一接口请求进行计数,使用%取余算法获取目标服务集群索引,返回获取到的目标服务器信息。

相关推荐
hai3152475432 小时前
RISC-V核E203核前向旁路的架构性顽疾
驱动开发·架构·硬件架构·硬件工程·risc-v
意图共鸣2 小时前
意图共鸣科技《认知智能白皮书》——感知与执行分离:认知架构(CA)如何重塑大模型底层结构
人工智能·架构
方也_arkling2 小时前
【Java-Day08】static / final / 枚举
java·开发语言
橙淮2 小时前
Spring Bean作用域与生命周期全解析
java·spring
Chengbei113 小时前
一站式源码安全检测工具、云安全 / APP / 小程序源码敏感信息递归多层目录扫描AK、JWT、手机号、身份证等敏感信息
java·开发语言·安全·web安全·网络安全·系统安全·安全架构
王莎莎-MinerU3 小时前
MinerU 深度技术解析:从架构原理到生产部署的全面指南
css·人工智能·自然语言处理·架构·ocr·个人开发
llz_1123 小时前
web-第一次课后作业
java·开发语言·idea
canonical_entropy3 小时前
Harness Engineering 之外:从非线性动力系统控制理解吸引子引导工程
架构·aigc·ai编程
Jiude3 小时前
AI 写代码太快之后,团队协作反而更难了
人工智能·架构·github
秋93 小时前
Java项目运行5天左右自动宕机:系统性定位与解决方案
java·开发语言·python