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

相关推荐
IKUN家族12 小时前
Spring MVC(一)
java·spring·mvc
FII工业富联科技服务13 小时前
工业设备运维如何Agentic化?拆解Factory Brain的设备运维架构
大数据·运维·人工智能·架构·制造
老马识途2.014 小时前
关于跨域问题的总结
java·前端
qq295314 小时前
2026 财搭子决策模拟器:多智能体投研架构能力拆解
大数据·人工智能·架构
都叫我大帅哥14 小时前
Java日期时间三十年战争:从Date考古到LocalDateTime革命,以及数据库与前端的那点事儿
java
Muscleheng14 小时前
SpringBoot 集成 DeepSeek 实现 RAG 文档问答
java·spring boot·ai·springai
2501_9364156915 小时前
可变参数&综合练习&斗地主游戏
java·windows·游戏
极客先躯16 小时前
高级java每日一道面试题-2026年05月03日-实战篇[Docker]-如何实现容器化环境的数据加密?
java·运维·docker·容器·金融·加解密·高级面试
xqqxqxxq17 小时前
Java Socket 多人聊天室(私聊+群聊)技术笔记(V4版本)
java·网络·笔记
wang090717 小时前
自己动手写一个spring之aop_1
java·后端·spring