微服务(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从注册中心读取目标服务信息,对统一接口请求进行计数,使用%取余算法获取目标服务集群索引,返回获取到的目标服务器信息。

相关推荐
min1811234563 小时前
AI从工具向自主决策者的身份转变
大数据·网络·人工智能·架构·流程图
Remember_9933 小时前
【数据结构】Java对象比较全解析:从equals到Comparable与Comparator,再到PriorityQueue应用
java·开发语言·数据结构·算法·leetcode·哈希算法
Dxy12393102163 小时前
PostgreSQL与MySQL有哪些区别:从架构到应用场景的深度解析
mysql·postgresql·架构
沛沛老爹4 小时前
从Web到AI:多模态Agent Skills生态系统实战(Java+Vue构建跨模态智能体)
java·前端·vue.js·人工智能·rag·企业转型
许泽宇的技术分享4 小时前
当 AI Agent 遇上 .NET:一场关于智能体架构的技术探险
人工智能·架构·.net
a努力。4 小时前
饿了么Java面试被问:一致性哈希的虚拟节点和数据迁移
java·chrome·后端·websocket·面试·职场和发展
把csdn当日记本的菜鸡4 小时前
Java设计模式简单入门
java·开发语言·设计模式
m0_748252384 小时前
Java 变量类型
java·数据结构·windows
caleb_5204 小时前
基于springmvc系统,如何跟踪会话过期,浏览器会话标识是否收到正常响应,存储,并在后续请求保持携带
java
luyun0202024 小时前
精简版本,绿色便携
java·windows·figma