Zull路由网关---SpringCloud

Zull路由网关

概述

什么是zuul?

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

其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础,而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验,服务聚合等功能的基础。Zuul和Eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时从Eureka中获得其他服务的消息,也即以后的访问微服务都是通过Zuul跳转后获得。

在这里插入图片描述

注意:Zuul 服务最终还是会注册进 Eureka

提供:代理 + 路由 + 过滤 三大功能!

Zuul 能干嘛?

  • 路由
  • 过滤

官方文档:https://github.com/Netflix/zuul/

入门案例

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

<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: 9527spring: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 # 显示ipinfo:app.name: haust.springcloud # 项目名称company.name: 河南科技大学西苑校区 # 公司名称# zull 路由网关配置
zuul:# 路由相关配置# 原来访问路由 eg:http://www.cspStudy.com:9527/springcloud-provider-dept/dept/get/1# zull路由配置后访问路由 eg:http://www.cspstudy.com:9527/haust/mydept/dept/get/1routes:mydept.serviceId: springcloud-provider-dept # eureka注册中心的服务提供方路由名称mydept.path: /mydept/** # 将eureka注册中心的服务提供方路由名称 改为自定义路由名称# 不能再使用这个路径访问了,*: 忽略,隐藏全部的服务名称~ignored-services: "*"# 设置公共的前缀prefix: /haust

主启动类

/*** @Auther: csp1999* @Date: 2020/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);}
}

测试:

在这里插入图片描述

可以看出Zull路由网关被注册到Eureka注册中心中了!

在这里插入图片描述

上图是没有经过Zull路由网关配置时,服务接口访问的路由,可以看出直接用微服务(服务提供方)名称去访问,这样不安全,不能将微服务名称暴露!

所以经过Zull路由网关配置后,访问的路由为:

在这里插入图片描述

我们看到,微服务名称被替换并隐藏,换成了我们自定义的微服务名称mydept,同时加上了前缀haust,这样就做到了对路由fan访问的加密处理!

详情参考springcloud中文社区zuul组件 :https://www.springcloud.cc/spring-cloud-greenwich.html#_router_and_filter_zuul

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

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

相关文章

微软称开源.NET吸引了更多开发者

两年前&#xff0c;微软出人意料的宣布开源 .NET 框架&#xff0c;两年后的今天微软表示开源 .NET 取得了成功。 .NET 项目吸引了更多的新开发者&#xff0c;虽然开源没有带来直接的收入&#xff0c;但却可能产生间接的收入&#xff0c;比如吸引更多人使用微软的云计算平台或开…

网站压力测试软件(Apache JMeter)2.13 官方版 Error: Unable to access jarfile ApacheJMeter.jar

https://jmeter.apache.org/download_jmeter.cgi 官网 https://archive.apache.org/dist/jmeter/binaries/ 下载地址 下载没有src的文件 使用方法 本录制&#xff0c;JMeter启用WEB代理&#xff0c;浏览器把代理上网设置为JMeter所在的IP地址&#xff0c;自己电脑就是127.…

win10系统用户访问ftp服务器被拒绝,关于windows2003下ftp用户名无法访问FTP服务器的问题...

关于windows 2003下建设FTP的步骤我不再详解&#xff0c;主要说两个我们经常出错的两个小问题&#xff0c;这两个小问题往往我们很容易忽视&#xff0c;使我们无法访问自己建立的FTP服务器。问题1&#xff1a;当我们建立一个FTP服务器选用“不隔离用户”选项并且选用不允许匿名…

SpringCloud Config 分布式配置

SpringCloud Config 分布式配置 Dalston.RELEASE Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持。使用Config Server&#xff0c;您可以在所有环境中管理应用程序的外部属性。客户端和服务器上的概念映射与Spring Environment和PropertySource抽象相同…

.NET泛型初探

总所周知&#xff0c;.NET出现在.net framework 2.0&#xff0c;为什么要在2.0引入泛型那&#xff0c;因为微软在开始开发.net框架时并没有想过多个类型参数传输时对方法的重构&#xff0c;这样一来&#xff0c;开发人员就要面对传输多种类型的参数而不得以写多个方法&#xff…

如何将idea自带的maven添加到环境变量

如何将idea自带的maven添加到环境变量 标签&#xff1a; maven idea 2018-07-10 阅读(3081) 想要通过命令形式在cmd操作IntelliJ IDEA自带的maven&#xff0c;那么就必须配置idea的maven环境变量。 下面以window 10 和 idea 2016.1为例&#xff1a; 第一步&#xff1a;找到…

三国志战略版360区S4服务器合并信息,三国志战略版pk赛季怎么转区?s4转区规则[多图]...

三国志战略版pk赛季是全新的开始&#xff0c;那么如果有的玩家想要转区的话&#xff0c;需要有哪些方法或者说是条件呢&#xff1f;下面来了解下&#xff01;三国志战略版pk赛季怎么转区&#xff1f;一、多久转服因为转服只有赛季快结束&#xff0c;也就是赛季末期才会开启&…

SpringCloud(笔记)

简介 学习前提 熟练使用SpringBoot 微服务快速开发框架 了解过Dubbo Zookeeper 分布式基础 电脑配置内存不低于8G(我自己的是16G) 给大家看下多个服务跑起来后的内存开销图&#xff1a; 文章大纲 微服务架构面临的四个核心问题&#xff1f; 1.服务很多&#xff0c;客…

java身份证号码正则表达式校验(亲测可用) Java正则校验手机号

java身份证号码正则表达式校验&#xff08;亲测可用&#xff09; // 原文&#xff1a;https://blog.csdn.net/u011106915/article/details/76066985 public class IDUtils { public static boolean isIDNumber(String IDNumber) { if (IDNumber null || "&qu…

博客园官方 NuGet镜像上线试运行

为解决国内访问NuGet服务器速度不稳定的问题&#xff0c;我们用阿里云服务器搭建了一个NuGet镜像&#xff0c;目前已上线试运行。 使用NuGet镜像源的方法如下&#xff1a; 1&#xff09;NuGet镜像源地址&#xff1a;https://nuget.cnblogs.com/v3/index.json 2&#xff09;在Nu…

Java synchronized 中的while 和 notifyAll

转载自 Java synchronized 中的while 和 notifyAll 问题1 为什么是while 而不是if 大多数人都知道常见的使用synchronized代码: synchronized (obj) {while (check pass) {wait();}// do your business } 那么问题是为啥这里是while而不是if呢? 这个问题 我最开始也想了很…

Java并发编程:Lock

转载自 Java并发编程&#xff1a;Lock 一.synchronized的缺陷 synchronized是java中的一个关键字&#xff0c;也就是说是Java语言内置的特性。那么为什么会出现Lock呢&#xff1f; 在上面一篇文章中&#xff0c;我们了解到如果一个代码块被synchronized修饰了&#xff0c;当一个…

docker下安装nacos 并使用mysql数据库

没做出来 腾讯云 有机会用虚拟机试试 参考资料 https://www.e-learn.cn/content/java/2357340 https://blog.csdn.net/xieqing_xq/article/details/105458887 重点 https://www.cnblogs.com/liushuchen/p/12488366.html 重点 http://122.51.187.132:8845/nacos/#/c…

javaMai+Springl实现给QQ邮箱发邮件(带附件,html格式)

以前的时候想着java发邮件很简单&#xff0c;因为当时使用的是outlook实现的&#xff0c;有兴趣的可以去看看之前的两篇博客文章&#xff0c;1.使用java底层实现邮件的发送&#xff08;含测试&#xff0c;源码&#xff09; 和 2.使用Spring实现邮件的发送&#xff08;含测试&…

分析开源项目

手把手教你分析开源项目 不知道代码怎么来的&#xff1f; 代码跑不起来&#xff1f; 项目对自己有帮助&#xff0c;不会模块化分析&#xff1f; 任何一个开源项目&#xff0c;都可以让自己得到提升&#xff01; 这里以 EL-ADMIN 为例https://el-admin.vip/ 1、观察开源项目…

Hangfire项目实践分享

项目中使用Hangfire已经快一年了&#xff0c;期间经历过很多次的试错及升级优化&#xff0c;才达到现在的稳定效果。趁最近不是太忙&#xff0c;自己在github上做了个案列&#xff0c;也是拿来跟大家分享下&#xff0c;案例是从项目里剥离出来的&#xff0c;有兴趣的可以访问 这…

IDEA开启Run Dashboard窗口

https://www.jianshu.com/p/df201a16d2cc 启动多个端口Run Dashboard窗口显得更好管理&#xff0c;如下&#xff1a; 图片 如果新建的项目运行后不出现Run Dashboard&#xff0c;希望切换成Run Dashboard运行需要进行手动修改。 首先在项目目录下的.idea 文件夹下的workspace…

如何修改服务器mac地址,如何修改服务器mac地址

如何修改服务器mac地址 内容精选换一换更新弹性云服务器的系统或者软件时&#xff0c;可以连接Internet&#xff0c;通过外部Pypi镜像源提供相关服务。但是&#xff0c;如果弹性云服务器无法访问Internet&#xff0c;或者外部Pypi镜像源提供的服务不稳定时&#xff0c;可以使用…

支持断线重连、永久watcher、递归操作并且能跨平台(.NET Core)的ZooKeeper异步客户端

什么是ZooKeeper&#xff1f; ZooKeeper是一个分布式的&#xff0c;开放源码的分布式应用程序协调服务&#xff0c;是Google的Chubby一个开源的实现&#xff0c;是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件&#xff0c;提供的功能包括&#xff1a;配…

云服务器的购买和宝塔面板的使用

为什么程序员都需要一个自己的服务器 1、作为一个程序员&#xff0c;必须要发布自己的网站和项目 2、练习Linux操作 3、自己的远程仓库、远程数据库、远程tomcat…搭建在服务器上 4、练习&#xff0c;Linux进行任意的环境部署操作 服务器如何购买 尽量打折的时候买 香港服务…