一起來學(xué)SpringCloud之整合Zuul網(wǎng)關(guān)服務(wù)之一
前言
大家好,一直以來我都本著用最通俗的話理解核心的知識點, 我認(rèn)為所有的難點都離不開 「基礎(chǔ)知識」 的鋪墊。目前正在出一個SpringCloud長期系列教程,從入門到進階, 篇幅會較多~
- 適合人群
- 有一定的Java基礎(chǔ)
- 想嘗試微服務(wù)開發(fā)
- 有SpringBoot開發(fā)基礎(chǔ)
- 想學(xué)習(xí)或了解SpringCloud
- 想提高自己的同學(xué)
背景
如果你是一路看過來的,很高興你能夠耐心看完。之前帶大家學(xué)了Springboot這門框架,熟練掌握了單體應(yīng)用的開發(fā),如今微服務(wù)開發(fā)盛行,對我們的技術(shù)要求也是越來越高,薪資也是令人興奮。這個系列將會帶大家學(xué)習(xí)SpringCloud微服務(wù)開發(fā),我會帶大家一步一步的入門,耐心看完你一定會有收獲~
情景回顧
上期帶大家一起認(rèn)識了Sentinel以及帶大家體驗了常用的方法,本期正式學(xué)習(xí)微服務(wù)網(wǎng)關(guān)Zuul,我們一起來看一下吧~
Zuul是什么
我們之前的學(xué)習(xí)都是整后端服務(wù),把網(wǎng)關(guān)學(xué)習(xí)放到最后邊來講也是做了一次整合,讓大家好去理解。之前給大家講微服務(wù)概述的時候,提到過,后端服務(wù)前面還有一層就是網(wǎng)關(guān)層,至于網(wǎng)關(guān)的作用可以參考我之前的文章。那么說一下zuul, 它是spring cloud家族的一員,它提供了很多豐富的功能,比如服務(wù)轉(zhuǎn)發(fā),接口攔截驗證,統(tǒng)一處理響應(yīng)。它有豐富的攔截器,我們可以通過它實現(xiàn)很多豐富的功能。
整合Zuul網(wǎng)關(guān)
首先引入依賴。
<!-- zuul api網(wǎng)關(guān)-->
<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>
配置網(wǎng)關(guān)服務(wù)
這一節(jié)先教大家配置網(wǎng)關(guān)服務(wù)。
轉(zhuǎn)發(fā)指定服務(wù)地址
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 轉(zhuǎn)發(fā)-> http://localhost:18080/hello/app/1
hello:
path: /**
url: http://localhost:18080
上面配置應(yīng)該很好理解,匹配到路徑/***,就轉(zhuǎn)發(fā)到http://localhost:18080這個服務(wù)。
轉(zhuǎn)發(fā)注冊中心服務(wù)
我們說后端服務(wù)都是注冊到注冊中心的,所以我們可以直接轉(zhuǎn)發(fā)到指定服務(wù)名。
zuul:
routes:
# 訪問 http://localhost:8003/hello/app/1 轉(zhuǎn)發(fā)-> http://localhost:18080/hello/app/1
hello:
path: /**
#url: http://localhost:18080
# 加入注冊中心后不需要url了 直接使用serviceID
serviceId: provider
多個服務(wù),也是同樣配置。
其它配置
zuul:
# 關(guān)閉某個過濾器
SendResponseFilter:
post:
disable: true
# 敏感請求頭過濾 如果想關(guān)閉默認(rèn)配置可以置為空 sensitive-headers:
sensitive-headers: Cookie,Set-Cookie,Authorization
add-host-header: true
# 可以指定前綴
prefix: /gateway
# 關(guān)閉指定服務(wù)配置
ignored-services: provider
結(jié)束語
本期到這里就結(jié)束了, 總結(jié)一下,本節(jié)主要講了什么是Zuul, 以及帶大家整了一下它常用的配置,大家可以自己配置試試看, 建議大家自己多去嘗試 。