微服务网关Zuul
一、Zuul简介
Zuul是Netflix开源的微服务网关,包含对请求的路由和过滤两个主要功能。
1)路由功能:负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础。
2)过滤功能:负责对请求的过程进行干预,可以实现请求校验、服务聚合等功能。

二、Zuul代码实现
1)在pom.xml中引入依赖
注意:系统中所有的微服务须连接至Eureka注册中心。Eureka搭建详见另一篇博文:微服务1:搭建微服务注册中心Eureka(命令行简易版,不使用IDE)-CSDN博客
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-zuul</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>
完整的pom.xml如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.test</groupId><artifactId>microservice-zuul</artifactId><packaging>jar</packaging><version>1.0-SNAPSHOT</version><name>microservice-zuul</name><url>http://maven.apache.org</url><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.0.RELEASE</version><relativePath/> </parent><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency> <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix</artifactId></dependency> <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-zuul</artifactId></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Hoxton.SR4</version><type>pom</type><scope>import</scope></dependency> </dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
2)配置application.yml
server:port: 9000
spring:application:name: microservice-zuuleureka:client:serviceUrl:defaultZone: http://localhost:8080/eureka/
3)在App.java中添加注解
@EnableDiscoveryClient
@EnableZuulProxy
package com.test;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@SpringBootApplication
@EnableDiscoveryClient
@EnableZuulProxy
public class App
{public static void main(String[] args) {SpringApplication.run(App.class, args);}}
三、Zuul测试
在浏览器中输入:
http://localhost:9000/microservice-consumer/users/4
其中microservice-consumer是实际要访问的微服务名称,如果不加Zuul,则该服务的访问URL为:
http://localhost:8010/users/3
使用Zuul网关之后,客户端无需知道每个微服务的端口号,即可通过网关端口号9000来统一访问到系统中所有的微服务。
相关文章:
微服务网关Zuul
一、Zuul简介 Zuul是Netflix开源的微服务网关,包含对请求的路由和过滤两个主要功能。 1)路由功能:负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础。 2)过滤功能:负责对请求的过程…...
BuildCTF线上赛WP
Build::CTF flag不到啊战队--WP 萌新战队,还请多多指教~ 目录 Build::CTF flag不到啊战队--WP Web ez!http find-the-id Pwn 我要成为沙威玛传奇 Misc what is this? 一念愚即般若绝,一念智即般若生 别真给我开盒了哥 四妹,你听…...
《使用Gin框架构建分布式应用》阅读笔记:p143-p207
《用Gin框架构建分布式应用》学习第10天,p143-p207总结,总计65页。 一、技术总结 1.auth0 本人实际工作中未遇到过,mark一下,参考:https://auth0.com/。 2.使用template (1)c.File() (2)router.Static() (3)rou…...
华为网络管理配置实例
目录 组网需求 数据规划 配置思路 操作步骤 结果验证 配置脚本 管理员可以通过eSight网管系统对FW进行监控和管理,接收FW的告警。 组网需求 如图1所示,某企业在网络边界处部署了FW作为安全网关,并部署了eSight网管系统对网络设备进行集中…...
大语言模型数据处理方法(基于llama模型)
文章目录 前言一、基于huggingface的DataCollatorForSeq2Seq方法解读1、DataCollatorForSeq2Seq方法2、batch最长序列填充3、指定长度填充二、构建大语言模型数据加工模块1、数据读取2、数据加工1、数据格式2、预训练(pretrain)数据加工3、微调(sft)数据加工①、sft数据加工…...
爱奇艺大数据多 AZ 统一调度架构
01# 导语 爱奇艺大数据技术广泛应用于运营决策、用户增长、广告分发、视频推荐、搜索、会员营销等场景,为公司的业务增长和用户体验提供了重要的数据驱动引擎。 多年来,随着公司业务的发展,爱奇艺大数据平台已积累了海量数据,这…...
【C++篇】栈的层叠与队列的流动:在 STL 的韵律中探寻数据结构的优雅之舞
文章目录 C 栈与队列详解:基础与进阶应用前言第一章:栈的介绍与使用1.1 栈的介绍1.2 栈的使用1.2.1 最小栈1.2.2 示例与输出 1.3 栈的模拟实现 第二章:队列的介绍与使用2.1 队列的介绍2.2 队列的使用2.2.1 示例与输出 2.3 队列的模拟实现2.3.…...
使用 Flask 实现简单的登录注册功能
目录 1. 引言 2. 环境准备 3. 数据库设置 4. Flask 应用基本配置 5. 实现用户注册 6. 实现用户登录 7. 路由配置 8. 创建前端页面 9. 结论 1. 引言 在这篇文章中,我们将使用 Flask 框架创建一个简单的登录和注册系统。Flask 是一个轻量级的 Python Web 框架…...
计算机毕业设计Python+大模型微博情感分析 微博舆情预测 微博爬虫 微博大数据 舆情分析系统 大数据毕业设计 NLP文本分类 机器学习 深度学习 AI
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 《Python大模型微博情感分析…...
CTF--Misc题型小结
(萌新笔记,多多关照,不足之处请及时提出。) 不定时更新~ 目录 密码学相关 文件类型判断 file命令 文件头类型 strings读取 隐写术 尺寸修改 文件头等缺失 EXIF隐写 thumbnail 隐写 文件分离&提取 binwalk foremo…...
深度学习系列——RNN/LSTM/GRU,seq2seq/attention机制
1、RNN/LSTM/GRU可参考: https://zhuanlan.zhihu.com/p/636756912 (1)对于这里面RNN的表示中,使用了输入x和h的拼接描述,其他公式中也是如此 (2)各符号图含义如下 2、关于RNN细节,…...
通过call指令来学习指令摘要表的细节
E8 cw cw 表示E8后面跟随2 字节 (什么数不知道) rel16 指在与指令同一代码段内的相对地址偏移 D ,指向Instruction Operand Encoding 表中的D列, 他告诉我们 操作数1 是一个0FFSET N.S. 在64位模式下,某些指令需要使用“地址覆盖前缀”(address over…...
10分钟使用Strapi(无头CMS)生成基于Node.js的API接口,告别繁琐开发,保姆级教程,持续更新中。
一、什么是Strapi? Strapi 是一个开源的无头(headless) CMS,开发者可以自由选择他们喜欢的开发工具和框架,内容编辑人员使用自有的应用程序来管理和分发他们的内容。得益于插件系统,Strapi 是一个灵活的 C…...
创建插件 DLL 项目
Step 1: 创建插件 DLL 项目 在 Visual Studio 中创建一个新的 DLL 项目,并添加以下文件和代码。 头文件:CShapeBase.h cpp 复制代码 #pragma once #include <afxwin.h> // MFC 必需头文件 #include <string> #include <vector> #i…...
OpenCV双目相机外参标定C++
基于OpenCV库实现双目测量系统外参标定过程。通过分析双目测量系统左右相机拍摄的棋盘格标定板图像,包括角点检测、立体标定、立体校正和畸变校正的步骤,获取左右相机的相对位置关系和姿态。 a.检测每张图像中的棋盘格角点,并进行亚像素级精…...
【GESP】C++一级练习BCQM3055,4位数间隔输出
一级知识点取余、整除运算和格式化输出知识点应用。其实也可以用string去处理,那就属于GESP三级的知识点范畴了,孩子暂未涉及。 题目题解详见:https://www.coderli.com/gesp-1-bcqm3055/ https://www.coderli.com/gesp-1-bcqm3055/https://w…...
纯血鸿蒙的最难时刻才开始
关注卢松松,会经常给你分享一些我的经验和观点。 纯血鸿蒙(HarmonyOS NEXT)也正式发布了,绝对是一个历史性时刻,但最难的鸿蒙第二个阶段,也就是生态圈的建设,才刚刚开始。 目前,我劝你现在不要升级到鸿蒙…...
记一个mysql的坑
数据库表user, 存在一个name字段,字段为varchar类型 现在user表有这么两条记录: idnameageclass1NULL18一班2lisi20二班 假如我根据下面这一条件去更新,更新成功数据行显示为0 update user set age 19 where age 18 and class “一班”…...
Java中的设计模式:单例模式详解
摘要 单例模式(Singleton Pattern)是Java中最常用的设计模式之一,属于创建型模式。它的主要目的是确保一个类在系统中只有一个实例,并提供一个全局访问点来访问该实例。 1. 单例模式的定义 单例模式确保一个类只有一个实例&…...
NanoTrack原理与转tensorrt推理
文章目录 前言一、NanoTrack 工作原理二、运行demo与转换tensorrt模型2.1 运行pt模型demo2.2 转onnx模型2.3 转tensorrt模型2.4 运行trt模型推理 三、推理速度对比总结 前言 NanoTrack 是一种轻量级且高效的目标跟踪算法,基于Siamese网络架构,旨在在资源…...
MATLAB 2024 升级指南:彻底卸载旧版,高效部署新版
1. 为什么需要彻底卸载旧版MATLAB? 每次MATLAB大版本更新都会带来新功能和性能优化,但很多用户直接覆盖安装后常遇到各种奇怪问题。我去年帮实验室处理过几十台电脑的升级故障,90%的问题都源于旧版残留文件。比如有位同学复现图像处理代码时&…...
10分钟快速解决ESP32开发环境配置问题:Arduino-ESP32完整安装指南
10分钟快速解决ESP32开发环境配置问题:Arduino-ESP32完整安装指南 【免费下载链接】arduino-esp32 Arduino core for the ESP32 family of SoCs 项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32 你是否正准备开始ESP32物联网开发࿰…...
【Verilog实战】从零掌握:语法规范与高效编码风格
1. Verilog语法规范入门:从"能跑"到"优雅" 第一次接触Verilog时,很多人会陷入"代码能跑就行"的误区。我刚开始做FPGA开发时,曾经写过一段让同事看了直皱眉头的代码:200行连成一片,变量名…...
Python趣味编程:用turtle库复刻经典动漫形象,附完整源码和参数详解
Python趣味编程:用turtle库复刻经典动漫形象,附完整源码和参数详解 还记得小时候用圆规和尺子在作业本上涂鸦的日子吗?现在,我们完全可以用代码重现这种创作的乐趣。Python的turtle库就像数字化的画笔,让编程变成一场视…...
半导体光刻OPC技术:稀疏模型到网格模型的转换实践
1. 光学邻近效应校正(OPC)技术演进背景在半导体制造的光刻工艺中,光学邻近效应校正(Optical Proximity Correction, OPC)是一项至关重要的分辨率增强技术。随着制程节点不断微缩至65nm以下,传统的光学模型面…...
基于HT1632C的LED矩阵屏级联驱动与Arduino应用实战
1. 项目概述:从点阵到信息墙 玩过单片机的朋友,对LED点阵屏应该都不陌生。从最简单的8x8单色点阵,到复杂的全彩大屏,其核心逻辑始终如一:通过精确控制成千上万个微小LED的亮灭,来拼凑出我们想要的图案、文字…...
Wand-Enhancer:解锁WeMod全部潜力的开源增强工具
Wand-Enhancer:解锁WeMod全部潜力的开源增强工具 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 在游戏辅助工具的世界里,WeMod无…...
LetsFG:命令行批量图片处理工具,提升格式转换与缩放效率
1. 项目概述与核心价值最近在整理个人工作流时,发现一个高频痛点:无论是处理设计稿、整理文档截图,还是收集网络上的灵感图片,手头总会积攒一堆不同格式、不同尺寸的图片文件。JPG、PNG、WebP、BMP……格式五花八门,尺…...
Revelation光影包:5分钟打造电影级Minecraft视觉体验
Revelation光影包:5分钟打造电影级Minecraft视觉体验 【免费下载链接】Revelation An explorative shaderpack for Minecraft: Java Edition 项目地址: https://gitcode.com/gh_mirrors/re/Revelation 想让你的Minecraft方块世界瞬间拥有电影大片般的视觉效果…...
Python性能优化利器:Numba JIT编译器原理与实战指南
1. 项目概述:当Python遇上极致性能如果你用Python做过科学计算、数据分析或者机器学习,大概率经历过这样的场景:一个复杂的数值计算循环,逻辑清晰,但运行起来却慢得让人怀疑人生。你看着CPU占用率上不去,心…...
