SpringCloud無介紹快使用,gateway的基本使用(十六)

@TOC

問題背景

從零開始學springcloud微服務項目
注意事項:

  • 約定 > 配置 > 編碼
  • IDEA版本2021.1
  • 這個項目昨忆,我分了很多篇章缝裤,每篇文章一個操作步驟敛瓷,目的是顯得更簡單明了
  • controller調(diào)service雹顺,service調(diào)dao
  • 項目源碼以及sentinel安裝包

gateway簡介

1 zuul1.0是阻塞式野来,然后2.0遲遲不更新,springcloud除了一套gateway方案疾牲,可以做:

  • 反向代理
  • 鑒權
  • 流量控制
  • 熔斷
  • 日志監(jiān)控



    2 路由是構(gòu)建網(wǎng)關的基本模塊植捎,它由ID,目標URI阳柔,一系列的斷言和過濾器組成焰枢,如果斷言為true則匹配該路由
    3 參考的是Java8的java.util.function.Predicate,開發(fā)人員可以匹配HTTP請求中的所有內(nèi)容(例如請求頭或請求參數(shù))舌剂,如果請求與斷言相匹配則進行路由
    4 指的是Spring框架中GatewayFilter的實例济锄,使用過濾器,可以在請求被路由前或者之后對請求進行修改
    5 基本流程

  • web請求霍转,通過一些匹配條件荐绝,定位到真正的服務節(jié)點。并在這個轉(zhuǎn)發(fā)過程的前后谴忧,進行一些精細化控制很泊。
    predicate就是我們的匹配條件;而filter沾谓,就可以理解為一個無所不能的攔截器委造。有了這兩個元素,再加上目標uri均驶,就可以實現(xiàn)一個具體的路由了


gateway模塊搭建

1 新建module



2 選擇jdk1.8



3 輸入服務名:cloud-gateway-gateway9527

4 引入pom依賴

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>springcloud2022</artifactId>
        <groupId>com.yg</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>cloud-gateway-gateway9527</artifactId>

    <dependencies>
        <!--gateway-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
        <!--eureka-client-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <!-- 引入自己定義的api通用包昏兆,可以使用Payment支付Entity -->
        <dependency>
            <groupId>com.yg</groupId>
            <artifactId>cloud-api-commons</artifactId>
            <version>${project.version}</version>
        </dependency>
        <!--一般基礎配置類-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

</project>

5 添加application.yml文件

server:
  port: 9527

spring:
  application:
    name: cloud-gateway
  cloud:
    gateway:
      routes:
        - id: payment_routh #payment_route    #路由的ID,沒有固定規(guī)則但要求唯一妇穴,建議配合服務名
          uri: http://localhost:8001          #匹配后提供服務的路由地址
          predicates:
            - Path=/payment/get/**         # 斷言爬虱,路徑相匹配的進行路由

eureka:
  instance:
    hostname: cloud-gateway-service
  client: #服務提供者provider注冊進eureka服務列表內(nèi)
    service-url:
      register-with-eureka: true
      fetch-registry: true
      defaultZone: http://eureka7001.com:7001/eureka

6 添加啟動類

package com.yg.springcloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * @Author suolong
 * @Date 2022/6/20 10:18
 * @Version 2.0
 */
@SpringBootApplication
public class GateWayMain9527 {

    public static void main(String[] args) {
        SpringApplication.run(GateWayMain9527.class, args);
    }
}

7 整體目錄架構(gòu)


8 使用網(wǎng)關路由訪問:http://localhost:9527/payment/get/1

SpringCloud無介紹快使用,Seata處理分布式事務(二十五)
SpringCloud無介紹快使用腾它,sentinel服務熔斷功能(二十四)
SpringCloud無介紹快使用跑筝,sentinel注解@SentinelResource的基本使用(二十三)
SpringCloud無介紹快使用,sentinel熱點key限流與系統(tǒng)規(guī)則的基本使用(二十二)
SpringCloud無介紹快使用瞒滴,sentinel熔斷降級和限流的基本使用(二十一)
SpringCloud無介紹快使用曲梗,Nacos集群和Nginx代理(二十)
SpringCloud無介紹快使用,nacos配置中心的基本使用(十九)
SpringCloud無介紹快使用妓忍,nacos注冊中心的基本使用(十八)
SpringCloud無介紹快使用虏两,gateway通過微服務名實現(xiàn)動態(tài)路由(十七)
SpringCloud無介紹快使用,gateway的基本使用(十六)
SpringCloud無介紹快使用世剖,Ribbon負載均衡工具與OpenFeign的使用(十五)
SpringCloud無介紹快使用定罢,使用Zookeeper替換Eureka服務注冊與發(fā)現(xiàn)(十四)
SpringCloud無介紹快使用,服務發(fā)現(xiàn)Discovery和Eureka自我保護(十三)
SpringCloud無介紹快使用旁瘫,集群cloud-provider-payment8002搭建(十二)
SpringCloud無介紹快使用祖凫,集群Eureka服務注冊中心cloud-eureka-server7002搭建(十一)
SpringCloud無介紹快使用,單機Eureka服務注冊中心cloud-eureka-server7001搭建(十)
SpringCloud無介紹快使用酬凳,新建cloud-api-commons公共模塊module(九)
SpringCloud無介紹快使用蝙场,新建子module消費者訂單模塊(八)
SpringCloud無介紹快使用,熱部署devtools配置(七)
SpringCloud無介紹快使用粱年,子module提供者支付微服務業(yè)務開發(fā)(六)
SpringCloud無介紹快使用售滤,新建子module提供者支付微服務yml整合和新建啟動類(五)
SpringCloud無介紹快使用,新建子module提供者支付微服務pom整合(四)
SpringCloud無介紹快使用台诗,springcloud父工程pom文件整理(三)
SpringCloud無介紹快使用完箩,IDEA新建springcloud父工程(二)
SpringCloud無介紹快使用,與Spingboot之間的兼容版本選擇(一)




作為程序員第 183 篇文章拉队,每次寫一句歌詞記錄一下弊知,看看人生有幾首歌的時間,wahahaha ...

Lyric: 在你的面前轉(zhuǎn)來轉(zhuǎn)去

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末粱快,一起剝皮案震驚了整個濱河市秩彤,隨后出現(xiàn)的幾起案子叔扼,更是在濱河造成了極大的恐慌,老刑警劉巖漫雷,帶你破解...
    沈念sama閱讀 223,002評論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瓜富,死亡現(xiàn)場離奇詭異,居然都是意外死亡降盹,警方通過查閱死者的電腦和手機与柑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評論 3 400
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蓄坏,“玉大人价捧,你說我怎么就攤上這事∥写粒” “怎么了结蟋?”我有些...
    開封第一講書人閱讀 169,787評論 0 365
  • 文/不壞的土叔 我叫張陵,是天一觀的道長渔彰。 經(jīng)常有香客問我椎眯,道長,這世上最難降的妖魔是什么胳岂? 我笑而不...
    開封第一講書人閱讀 60,237評論 1 300
  • 正文 為了忘掉前任编整,我火速辦了婚禮,結(jié)果婚禮上乳丰,老公的妹妹穿的比我還像新娘掌测。我一直安慰自己,他們只是感情好产园,可當我...
    茶點故事閱讀 69,237評論 6 398
  • 文/花漫 我一把揭開白布汞斧。 她就那樣靜靜地躺著,像睡著了一般什燕。 火紅的嫁衣襯著肌膚如雪粘勒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,821評論 1 314
  • 那天屎即,我揣著相機與錄音庙睡,去河邊找鬼。 笑死技俐,一個胖子當著我的面吹牛乘陪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播雕擂,決...
    沈念sama閱讀 41,236評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼啡邑,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了井赌?” 一聲冷哼從身側(cè)響起谤逼,我...
    開封第一講書人閱讀 40,196評論 0 277
  • 序言:老撾萬榮一對情侶失蹤贵扰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后流部,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體戚绕,經(jīng)...
    沈念sama閱讀 46,716評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,794評論 3 343
  • 正文 我和宋清朗相戀三年贵涵,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恰画。...
    茶點故事閱讀 40,928評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡宾茂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出拴还,到底是詐尸還是另有隱情跨晴,我是刑警寧澤,帶...
    沈念sama閱讀 36,583評論 5 351
  • 正文 年R本政府宣布片林,位于F島的核電站端盆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏费封。R本人自食惡果不足惜焕妙,卻給世界環(huán)境...
    茶點故事閱讀 42,264評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望弓摘。 院中可真熱鬧焚鹊,春花似錦、人聲如沸韧献。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锤窑。三九已至璧针,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間渊啰,已是汗流浹背探橱。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留绘证,地道東北人走搁。 一個月前我還...
    沈念sama閱讀 49,378評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像迈窟,于是被迫代替她去往敵國和親私植。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,937評論 2 361

推薦閱讀更多精彩內(nèi)容