一起来学SpringCloud之整合Zuul网关服务之一

开发 架构
本节主要讲了什么是Zuul, 以及带大家整了一下它常用的配置,大家可以自己配置试试看。

前言

大家好,一直以来我都本着用最通俗的话理解核心的知识点, 我认为所有的难点都离不开 「基础知识」 的铺垫。目前正在出一个SpringCloud长期系列教程,从入门到进阶, 篇幅会较多~

  • 适合人群
  • 有一定的Java基础
  • 想尝试微服务开发
  • 有SpringBoot开发基础
  • 想学习或了解SpringCloud
  • 想提高自己的同学

背景

如果你是一路看过来的,很高兴你能够耐心看完。之前带大家学了Springboot这门框架,熟练掌握了单体应用的开发,如今微服务开发盛行,对我们的技术要求也是越来越高,薪资也是令人兴奋。这个系列将会带大家学习SpringCloud微服务开发,我会带大家一步一步的入门,耐心看完你一定会有收获~

情景回顾

上期带大家一起认识了Sentinel以及带大家体验了常用的方法,本期正式学习微服务网关Zuul,我们一起来看一下吧~

Zuul是什么

我们之前的学习都是整后端服务,把网关学习放到最后边来讲也是做了一次整合,让大家好去理解。之前给大家讲微服务概述的时候,提到过,后端服务前面还有一层就是网关层,至于网关的作用可以参考我之前的文章。那么说一下zuul, 它是spring cloud家族的一员,它提供了很多丰富的功能,比如服务转发,接口拦截验证,统一处理响应。它有丰富的拦截器,我们可以通过它实现很多丰富的功能。

整合Zuul网关

首先引入依赖。

<!--        zuul api网关-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

配置网关服务

这一节先教大家配置网关服务。

转发指定服务地址

server:
port: 8003
spring:
application:
name: zuul
cloud:
# nacos
nacos:
config:
server-addr: 127.0.0.1:8848
file-extension: yml
zuul:
routes:
# 访问 http://localhost:8003/hello/app/1 转发-> http://localhost:18080/hello/app/1
hello:
path: /**
url: http://localhost:18080

上面配置应该很好理解,匹配到路径/***,就转发到http://localhost:18080这个服务。

转发注册中心服务

我们说后端服务都是注册到注册中心的,所以我们可以直接转发到指定服务名。

zuul:
routes:
# 访问 http://localhost:8003/hello/app/1 转发-> http://localhost:18080/hello/app/1
hello:
path: /**
#url: http://localhost:18080

# 加入注册中心后不需要url了 直接使用serviceID
serviceId: provider

多个服务,也是同样配置。

其它配置

zuul:
# 关闭某个过滤器
SendResponseFilter:
post:
disable: true
# 敏感请求头过滤 如果想关闭默认配置可以置为空 sensitive-headers:
sensitive-headers: Cookie,Set-Cookie,Authorization

add-host-header: true

# 可以指定前缀
prefix: /gateway

# 关闭指定服务配置
ignored-services: provider

结束语

本期到这里就结束了, 总结一下,本节主要讲了什么是Zuul, 以及带大家整了一下它常用的配置,大家可以自己配置试试看, 建议大家自己多去尝试 。

责任编辑:姜华 来源: 今日头条
相关推荐

2012-04-14 20:47:45

Android

2012-06-25 09:37:24

Web

2010-05-21 17:32:07

IIS服务器

2012-11-08 17:33:53

智慧云

2020-06-11 18:35:23

C++编程语言

2021-06-09 08:15:50

volatileJava开发

2009-09-09 09:23:37

服务器稳定性

2022-11-29 16:35:02

Tetris鸿蒙

2022-12-02 14:20:09

Tetris鸿蒙

2022-05-13 08:23:07

Zuul微服务Zuul过滤器

2012-09-10 13:42:55

PHP项目管理

2021-06-02 15:30:12

Synchronize并发多线程

2021-04-26 11:18:15

FedoraLinuxBug

2009-10-29 16:32:34

Oracle表空间

2011-09-07 22:59:07

联想一体机

2023-03-30 09:32:27

2022-11-14 17:01:34

游戏开发画布功能

2009-07-14 16:35:57

Swing组件大全

2022-05-12 08:21:13

项目网关模块

2012-07-10 09:14:51

Web
点赞
收藏

51CTO技术栈公众号