您现在的位置是:首页 > 编程 > 

【Spring Cloud】008

2025-07-27 15:08:14
【Spring Cloud】008 一、概述1、Zuul包含了对请求的路由和过滤两个最主要的功能其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础,而**过滤器功能则负责对请求的处理过程进行干预,**是实现请求校验,服务聚合等功能的基础。Zuul和Eureka进行整合, 将Zuul自身注册为Eureka服务治理下的应用,同时从Eureka中获得其他微服务的消息,也即以

【Spring Cloud】008

一、概述

1、Zuul包含了对请求的路由过滤两个最主要的功能

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

二、代码演示

1、创建一个新的模块zuul-9527,并导入坐标

代码语言:javascript代码运行次数:0运行复制
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns=".0.0"
         xmlns:xsi=";
         xsi:schemaLocation=".0.0 .0.0.xsd">
    <parent>
        <artifactId>springcloud</artifactId>
        <groupId>com.zibo</groupId>
        <version>1.0-SAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>springcloud-zuul-9527</artifactId>
    <!--实体类 + web-->
    <dependencies>
        <!--zuul-->
        <dependency>
            <groupId>org.</groupId>
            <artifactId>spring-cloud-starter-zuul</artifactId>
            <version>1.4.7.RELEASE</version>
        </dependency>
        <!--Hystrix-->
        <dependency>
            <groupId>org.</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
        </dependency>
        <!--健康监控模块-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
        </dependency>
        <!--集成Ribbon-->
        <dependency>
            <groupId>org.</groupId>
            <artifactId>spring-cloud-starter-ribbon</artifactId>
            <version>1.4.7.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
            <version>1.4.7.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>com.zibo</groupId>
            <artifactId>springcloud-api</artifactId>
            <version>1.0-SAPSHOT</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>

</project>

2、创建配置文件application.yaml

代码语言:javascript代码运行次数:0运行复制
server:
  port: 9527
spring:
  application:
    name: springcloud-zuul
eureka:
  client:
    service-url:
      defaultZone: :7001/eureka/,:7002/eureka/,:700/eureka/
  instance:
    instance-id: springcloud-zuul-9527 # 修改eureka的默认描述信息
    prefer-ip-address: true
info:
  : com.zibo.springcloud
  : zibo

、hosts文件里面在加一个地址

代码语言:javascript代码运行次数:0运行复制
# 原来的
127.0.0.1 eureka7001
127.0.0.1 eureka7002
127.0.0.1 eureka700
# 新增一个
127.0.0.1 www.zibo

4、写主启动类

代码语言:javascript代码运行次数:0运行复制
package com.zibo.springcloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.flix.zuul.EnableZuulProxy;

@SpringBootApplication
@EnableZuulProxy //开启
public class Zuul_9527 {
    public static void main(String[] args) {
        SpringApplication.run(Zuul_,args);
    }
}

5、运行测试

访问7001:
访问8001:
通过路由访问8001:

:9527/springcloud-provider-dept/dept/get/1

6、隐藏微服务的名字

修改9527的配置文件:
代码语言:javascript代码运行次数:0运行复制
server:
  port: 9527
spring:
  application:
    name: springcloud-zuul
eureka:
  client:
    service-url:
      defaultZone: :7001/eureka/,:7002/eureka/,:700/eureka/
  instance:
    instance-id: springcloud-zuul-9527 # 修改eureka的默认描述信息
    prefer-ip-address: true
info:
  : com.zibo.springcloud
  : zibo
zuul:
  routes:
    mydept.serviceId: springcloud-provider-dept
    mydept.path: /mydept/**
重启9527,然后访问:

此时,通过:9527/springcloud-provider-dept/dept/get/1也可以访问,现在我想把它关闭了,使得通过springcloud-provider-dept不能访问;

修改配置文件:
代码语言:javascript代码运行次数:0运行复制
server:
  port: 9527
spring:
  application:
    name: springcloud-zuul
eureka:
  client:
    service-url:
      defaultZone: :7001/eureka/,:7002/eureka/,:700/eureka/
  instance:
    instance-id: springcloud-zuul-9527 # 修改eureka的默认描述信息
    prefer-ip-address: true
info:
  : com.zibo.springcloud
  : zibo
zuul:
  routes:
    mydept.serviceId: springcloud-provider-dept
    mydept.path: /mydept/**
  ignored-services: springcloud-provider-dept # 使得不能通过springcloud-provider-dept访问
  # ignored-services: "*" # 忽略所有访问路径
运行测试:
附加:

ignored-services:"*" # 忽略所有访问路径

prefix: /zibo:# 设置公共的访问前缀;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-01-06,如有侵权请联系 cloudcommunity@tencent 删除spring微服务cloud路由网关

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1198302.html

相关标签:无
上传时间: 2025-07-23 11:19:09
留言与评论(共有 5 条评论)
本站网友 工银安盛人寿保险有限公司
24分钟前 发表
defaultZone
本站网友 如何减脂肪
5分钟前 发表
port
本站网友 尚品宅配官方网站
28分钟前 发表
service-url
本站网友 婺源租房
4分钟前 发表
service-url