Spring Cloud Netflix学习笔记06-Zuul

文章目录

  • 概述
    • 什么是Zuul?
    • Zuul 能干嘛?
  • Zuul入门案例
    • pom依赖
    • application.yml
    • 启动类
    • 隐藏真实路径


在这里插入图片描述

概述

什么是Zuul?

Zuul包含了对请求的路由(用来跳转的)和过滤两个最主要功能:

  • 其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础
  • 而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验,服务聚合等功能的基础

Zuul和Eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时从Eureka中获得其他服务的消息,也即以后的访问微服务都是通过Zuul跳转后获得。
注意:Zuul 服务最终还是会注册进 Eureka
提供:代理 + 路由 + 过滤 三大功能!

Zuul 能干嘛?

  • 路由
  • 过滤
    官方文档:https://github.com/Netflix/zuul/

Zuul入门案例

新建springcloud-zuul模块,并导入依赖

pom依赖

<dependencies><!--导入zuul依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zuul</artifactId><version>1.4.6.RELEASE</version></dependency><!--Hystrix依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-hystrix</artifactId><version>1.4.6.RELEASE</version></dependency><!--dashboard依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-hystrix-dashboar</artifactId><version>1.4.6.RELEASE</version></dependency><!--Ribbon--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-ribbon</artifactId><version>1.4.6.RELEASE</version></dependency><!--Eureka--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId><version>1.4.6.RELEASE</version></dependency><!--实体类+web--><dependency><groupId>com.haust</groupId><artifactId>springcloud-api</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--热部署--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId></dependency>
</dependencies>

application.yml

server:port: 9527
spring:application:name: springcloud-zuul #微服务名称
# eureka 注册中心配置
eureka:client:service-url:defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/instance: #实例的idinstance-id: zuul9527.comprefer-ip-address: true # 显示ip
info:app.name: qf.springcloud # 项目名称company.name: 深圳大学 # 公司名称

启动类

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;/*** @Auther: qf* @Date: 2025/05/20/20:53* @Description: Zull路由网关主启动类*/
@SpringBootApplication
@EnableZuulProxy // 开启Zuul
public class ZuulApplication_9527 {public static void main(String[] args) {SpringApplication.run(ZuulApplication_9527.class,args);}
}

启动项目,输入http://127.0.0.1:9527/test-provider-dept/dept/get/1
访问可能需要等待

隐藏真实路径

相关配置

# zull 路由网关配置
zuul:# 路由相关配置routes:mydept.serviceId: test-provider-dept # eureka注册中心的服务提供方路由名称mydept.path: /mydept/** # 将eureka注册中心的服务提供方路由名称 改为自定义路由名称
#  ignored-services: springcloud-provider-dept # 忽略指定服务名称# 不能再使用这个路径访问了,*: 忽略,隐藏全部的服务名称~ignored-services: "*"# 设置公共的前缀prefix: /qfcloud

访问服务接口
http://127.0.0.1:9527/qfcloud/mydept/dept/get/1


相关文章:
Spring Cloud Netflix学习笔记01
Spring Cloud Netflix学习笔记02-Eureka
Spring Cloud Netflix学习笔记03-Ribbon
Spring Cloud Netflix学习笔记04-Feign
Spring Cloud Netflix学习笔记05-Hystrix
Spring Cloud Netflix学习笔记06-Zuul
Spring Cloud Netflix学习笔记07-Spring Cloud Config

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/94002.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/94002.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c# 和 c++ 怎样结合

c# 和 c 怎样结合在软件开发中&#xff0c;C# 和 C 通常用于不同的场景和目的&#xff0c;但有时需要将它们结合使用以充分利用两种语言的优点。以下是几种常见的方法来实现 C# 和 C 的结合&#xff1a;1. P/Invoke&#xff08;Platform Invocation Services&#xff09;P/Invo…

开源分布式数据库(Dgraph)

Dgraph 是一款专为处理复杂关系数据设计的开源分布式图数据库&#xff0c;核心目标是提供高性能、高可扩展性的图数据存储与查询能力。其设计融合了原生图模型与分布式架构&#xff0c;支持 GraphQL 查询语言&#xff0c;适用于社交网络、知识图谱、推荐系统等场景。 一、技术架…

Apache ShenYu和Nacos之间的通信原理

这是一个非常经典的服务注册发现和动态配置管理的案例。ShenYu 作为网关,需要实时感知后端微服务的上线、下线以及其元数据信息(如 API 接口列表)的变化,同时它自身的配置也可能需要动态调整。Nacos 则作为注册中心和配置中心,扮演了“服务电话簿”和“动态配置仓库”的角…

强制重启导致Ubuntu24.04LTS amd的WIFI无法使用的解决方案

强制重启导致Ubuntu24.04LTS amd的WIFI无法使用的解决方案 前言 ‍ 我按下了<ctrl><alt><prtsc>组合键&#xff0c;然后按住<ctrl><alt>不放&#xff0c;让我的死机的图形化的Ubuntu强制重启&#xff0c;然后再次打开发现&#xff0c;我的ubu…

Java基础面试题02

引用&#xff1a;&#xff08;代码随想录的八股转免费了&#xff09;以下为网址 卡码笔记 本文为学习以上文章的笔记&#xff0c;如果有时间推荐直接去原网址 Java中的数据类型有哪些&#xff1f;分为哪两大类&#xff1f; (考点&#xff1a;Java数据类型及其分类) 【简单】 基…

RabbitMQ:SpringAMQP Fanout Exchange(扇型交换机)

目录一、案例需求二、基础配置三、代码实现扇形交换机也叫做广播交换机&#xff0c;通过交换机将消息发送给所有的队列。 生产者源码 消费者源码 一、案例需求 在RabbitMQ控制台中&#xff0c;声明队列fanout.queue1和fanout.queue2。在RabbitMQ控制台中&#xff0c;声明交换…

深度解析DeepSeek V3.1 :6850 亿参数开源模型如何以 71.6% 编码得分、68 倍成本优势重构全球 AI 竞争格局

深度解析DeepSeek V3.1 &#xff1a;6850 亿参数开源模型如何以 71.6% 编码得分、68 倍成本优势重构全球 AI 竞争格局当DeepSeek悄然将其 6850 亿参数的 V3.1 模型上传至 Hugging Face 平台时&#xff0c;这个看似低调的举动却在全球 AI 领域投下了一颗 “深水炸弹”。这款融合…

Java 大视界 -- Java 大数据在智能安防视频监控系统中的视频内容理解与智能预警升级(401)

Java 大视界 -- Java 大数据在智能安防视频监控系统中的视频内容理解与智能预警升级&#xff08;401&#xff09;引言&#xff1a;正文&#xff1a;一、传统安防监控的 “三重困局”&#xff1a;看不全、看不懂、反应慢1.1 人工盯屏 “力不从心”1.1.1 摄像头密度与人力的矛盾1…

ansible playbook 实战案例roles | 实现基于node_exporter的节点部署

文章目录一、核心功能描述二、roles内容2.1 文件结构2.2 主配置文件2.3 tasks文件内容2.4 vars文件内容免费个人运维知识库&#xff0c;欢迎您的订阅&#xff1a;literator_ray.flowus.cn 一、核心功能描述 这个 Ansible Role 的核心功能是&#xff1a;​自动化部署 Prometheu…

.NET Core MongoDB 查询数据异常及解决

.NET Core 查询 MongoDB异常消息Element _class does not match any field or property of class WebApiServer.Model.Enity.Ypxxx.图中写的修改实际是查询分页出现的异常&#xff0c;异常是查询转换为List<T>时出现的&#xff1a; 这个错误通常发生在MongoDB文档中包含的…

政策技术双轮驱动智慧灯杆市场扩容,塔能科技破解行业痛点

在新型城市基础设施建设不断加速&#xff0c;以及“双碳”战略持续深化这样的双重背景之下&#xff0c;智慧灯杆市场恰恰迎来了政策红利得以释放、技术出现迭代突破并且需求在持续升级的极为难得的黄金发展时期。智慧城市建设 的核心承载从国家层面所开展的全域智能化改造规划&…

JetBrains Mono字体

好的,我们来详细解析一下 JetBrains Mono 的 8 种主要字体风格(实际上官方提供了 9 种字重,但通常我们讨论其核心风格)及其区别。 这些风格的区别主要体现在两个方面:字重 和 字形。 核心区别:字重 字重就是字体的粗细程度。JetBrains Mono 提供了从细到极粗的多种选择…

MySQL 分页查询:用 LIMIT 高效处理大量数据

MySQL 分页查询&#xff1a;用 LIMIT 高效处理大量数据 在实际开发中&#xff0c;当查询结果包含成百上千条记录时&#xff0c;一次性展示所有数据会导致加载缓慢、用户体验差。分页查询能将数据分段展示&#xff0c;既减轻服务器压力&#xff0c;又方便用户浏览。MySQL 中通过…

GraphQL 与 REST 在微服务架构中的对比与设计实践

GraphQL 与 REST 在微服务架构中的对比与设计实践 随着微服务架构的普及&#xff0c;API 设计已经成为系统性能、可维护性和开发效率的关键。REST&#xff08;Representational State Transfer&#xff09;作为传统的无状态架构风格&#xff0c;拥有简单、成熟的生态&#xff1…

WebSocket通信:sockjs与stomp.js的完美搭档

sockjs 和 stomp.js 是 WebSocket 通信场景中功能互补的两个库,它们的结合能解决实际开发中的关键问题,因此常被一起使用。 1. 两者的核心作用与联系 sockjs:是一个 传输层库,解决的是“如何在各种环境下建立可靠的双向通信连接”的问题。 WebSocket 协议本身存在兼容性限…

元宇宙的网络基础设施:5G 与 6G 的关键作用

1 5G 技术对元宇宙的支撑作用1.1 高带宽保障沉浸式内容传输5G 技术的超大带宽特性为元宇宙的海量数据传输提供了基础支撑。元宇宙中的沉浸式体验依赖于高清视频、3D 模型、实时交互数据等大容量内容&#xff0c;普通 4G 网络的带宽&#xff08;约 100Mbps&#xff09;难以满足需…

【39页PPT】大模型DeepSeek在运维场景中的应用(附下载方式)

篇幅所限&#xff0c;本文只提供部分资料内容&#xff0c;完整资料请看下面链接 https://download.csdn.net/download/2501_92808811/91694206 资料解读&#xff1a;【39页PPT】大模型DeepSeek在运维场景中的应用 详细资料请看本解读文章的最后内容。大模型技术在当下的科技领…

集成电路学习:什么是Template Matching模版匹配

Template Matching:模版匹配 Template Matching(模版匹配)是一种在图像处理中广泛使用的技术,主要用于在一幅大图像中搜寻与给定模板图像最相似的区域。以下是对模版匹配的详细介绍: 一、定义与原理 模版匹配是一种最原始、最基本的模式识别方法,它通过比较模板图…

Python零基础30天速通(小白定制视频教程版)

概述 还在为 Python 入门犯难&#xff1f;怕枯燥的代码让学习没动力&#xff1f;别担心&#xff01;专为零基础小白打造的 Python 30 天速通课程 重磅登场&#xff5e;视频资料&#xff1a;https://pan.quark.cn/s/2931af88b68a 这门课从 Python 核心基础入手 基础语法全覆盖&a…

leetcode1004 最大连续1的个数

一、题目描述二、解题思路采用双指针的方法来解决这个问题。定义变量countzero来记录窗口内0的数量&#xff0c;当countzero大于k时&#xff0c;窗口收缩&#xff0c;left移动到窗口内第一个0的后面一个位置&#xff0c;将这个弹出来的“翻转机会”让给right指向的数&#xff0…