Spring Cloud-Zuul
1、什么是网关?
网关相当于一个网络服务架构的入口,所有网络请求必须通过网关转发到具体的服务。
2、网关的作用是什么?
统一管理微服务请求,权限控制、负载均衡、路由转发、监控、安全控制黑名单和白名单等。
3、Spring Cloud Zuul的作用?
- Zuul是Spring Cloud提供的成熟的路由方案,他会根据请求的路径不同,网关会定位到指定的微服务中,并代理请求道不同的微服务接口,它对外隐蔽了微服务的真正接口地址。Spring Cloud三个重要的概念:动态路由表,路由定位,反向代理。
- 动态路由表:Zuul支持Eureka路由,手动配置路由,这两种都支持自动更新;
- 路由定位:根据请求路径,Zuul有自己的一套定位服务规则以及路由表达式匹配;
- 反向代理:客户端请求到路由网关,网关受理之后,在对目标发送请求,拿到响应之后再给客户端。
- 它可以和Eureka、Ribbon和Hystrix等组件配合使用。
- Zuul的应用场景:对外暴露、权限校验、读物聚合和日志审计等。
4、网关与过滤器的区别?
网关是对所有服务的请求进行分析过滤,过滤器是对单个服务而言。
5、常用的网关框架有哪些?
- Nginx
- Zuul
- Gateway
6、Zuul与Ngnix有什么区别
Zuul是Java语言实现的,主要为Java服务提供网关服务,尤其在微服务架构中可以更加灵活的对网关进行操作。Nginx是使用C语言实现,性能高于Zuul,但是实现自定义操作需要熟悉lua语言,对程序员要求较高,可以使用Nginx做Zuul集群。
7、既然Nginx可以实现网关?为什么还需要使用Zuul框架?
Zuul是SpringCloud集成的网关,使用Java语言编写,可以对SpringCloud架构提供更灵活的服务。
8、如何设计一套API接口?
考虑到API接口的分类可以将API接口分为开发API接口和内网API接口,内网API接口用于局域网,为内部服务器提供服务。开放API接口用于对外部合作单位提供接口调用,需要遵循Oauth2.0权限认证协议。同时还需要考虑安全性、幂等性等问题。
9、ZuulFilter常用有哪些方法?
- Run():过滤器的具体业务逻辑;
- shouldFilter():判断过滤器是否有效;
- fifilterOrder():过滤器执行顺序;
- fifilterType():过滤器拦截位置。
10、如何实现动态Zuul网关路由转发
通过path配置拦截请求,通过ServiceId到配置中心获取转发的服务列表,Zuul内部使用Ribbon实现本地负载均衡和转发。
11、Zuul网关如何搭建集群
使用Nginx的upstream设置Zuul服务集群,通过location拦截请求并转发到upstream,默认使用轮询机制对Zuul集群发送请求。
分类:
Spring Cloud面试题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?