Friedy's blog Friedy's blog
首页
  • 《Vue》笔记
  • 《JavaScript教程》笔记
  • 小程序笔记
  • 《CSS》笔记
  • 《HTML》笔记
  • 《Java》笔记
  • 《SpringBoot》笔记
  • 《SpringCloud》笔记
  • 机器学习笔记
  • 深度学习知识点总结
  • 大模型学习笔记
  • 面试经验
  • 友情链接
关于
  • 网站
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Friedy

全栈攻城狮
首页
  • 《Vue》笔记
  • 《JavaScript教程》笔记
  • 小程序笔记
  • 《CSS》笔记
  • 《HTML》笔记
  • 《Java》笔记
  • 《SpringBoot》笔记
  • 《SpringCloud》笔记
  • 机器学习笔记
  • 深度学习知识点总结
  • 大模型学习笔记
  • 面试经验
  • 友情链接
关于
  • 网站
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • SpringCloud入门概述
  • Eureka服务发现框架
  • Ribbon:负载均衡(基于客户端)
  • Feign:负载均衡(基于客户端)
  • Hystrix:断路器
  • Zuul路由网关
    • 6.Zuul 路由网关
  • SpringCloud Config分布式配置
  • 总结
  • 《SpringCloud》笔记
friedy37
2024-06-08
目录

Zuul路由网关

# 6.Zuul 路由网关

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

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

案例:
新建 springcloud-zuul-9527 模块,并导入依赖

<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>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47

application.yml

server:
  port: 9527

spring:
  application:
    name: springcloud-zuul #微服务名字

eureka:
  client:
    service-url:
      defaultZone: http://eureka7004.com:7004/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
  instance:
    instance-id: zuul9527.com
    prefer-ip-address: true

info:
 app.name: kuang-springcloud
 company.name: 阿里巴巴有限公司

# zuul 路由网关配置
zuul:
  # 路由相关配置
  # 原来访问路由 eg:http://localhost:9527/springcloud-provider-dept/dept/get/1
  # zuul路由配置后访问路由 eg:http://localhost:9527/kuang/mydept/dept/get/1
  routes:
    mydept.serviceId: springcloud-provider-dept # 服务ID
    mydept.path: /mydept/** # 给原来的服务ID设置另一个路径
  ignored-services: "*" # 忽略所有服务ID,服务ID不能直接访问了
  prefix: /kuang # 前缀
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

主启动类

@SpringBootApplication
@EnableZuulProxy //开启zuul
public class Zuul_9527 {

    public static void main(String[] args) {
        SpringApplication.run(Zuul_9527.class,args);
    }
}
1
2
3
4
5
6
7
8

测试:
未配置路由网关,访问方式:可以通过服务名访问,暴露服务名不安全

增加 zuul 配置后,不可以通过服务名访问了

编辑 (opens new window)
#SpringCloud
上次更新: 2024/06/09, 21:19:54
Hystrix:断路器
SpringCloud Config分布式配置

← Hystrix:断路器 SpringCloud Config分布式配置→

最近更新
01
大模型学习笔记
11-29
02
机器学习笔记
11-29
03
深度学习知识点总结
11-22
更多文章>
Theme by Vdoing | Copyright © 2019-2024 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式