欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring?cloud網(wǎng)關gateway進行websocket路由轉(zhuǎn)發(fā)規(guī)則配置過程

 更新時間:2023年04月04日 10:20:13   作者:冰之杍  
這篇文章主要介紹了Spring?cloud網(wǎng)關gateway進行websocket路由轉(zhuǎn)發(fā)規(guī)則配置過程,文中還通過實例代碼介紹了Spring?Cloud?Gateway--配置路由的方法,需要的朋友可以參考下

Spring cloud網(wǎng)關gateway進行websocket路由轉(zhuǎn)發(fā)規(guī)則配置

一、websocket及http路由轉(zhuǎn)發(fā)規(guī)則配置

后端是普通的服務時使用http或ws的詳細地址進行轉(zhuǎn)發(fā),
后端是注冊到nacos上的服務時,使用lb:開頭或lb:ws開頭前綴加上注冊服務名進行配置,如下:

spring:
  cloud:
    gateway:
      routes:
        - id: http1
          uri: "http://127.0.0.1:8081" #http轉(zhuǎn)發(fā)配置,直接使用http地址使用方式1
          #url: "lb://serviceName" #http轉(zhuǎn)發(fā)配置,通過nacos注冊中心調(diào)用serviceName使用方式2
          predicates: 
            - Path=/**
        - id: websocket1
          uri: "ws://127.0.0.1:8081" #websocket配置,直接地址使用方式1
          #uri: "lb:ws://serviceName" #websocket配置,通過nacos注冊中心調(diào)用serviceName使用方式2
          predicates: 
            - Path=/websocket

補充:Spring Cloud Gateway--配置路由的方法

簡介

說明

本文介紹Spring Cloud Gateway配置路由的方法。

路由概述

        路由是網(wǎng)關配置的基本組成模塊,和Zuul的路由配置模塊類似。一個Route模塊由一個 ID,一個目標 URI,一組斷言和一組過濾器定義。如果斷言為真,則路由匹配,目標URI會被訪問。

方案1:使用配置文件

配置文件是:application.yml。

法1:通過服務名實現(xiàn)動態(tài)路由

        默認情況下Gatway會根據(jù)注冊中心注冊的服務列表, 以注冊中心上微服務名為路徑創(chuàng)建動態(tài)路由進行轉(zhuǎn)發(fā),從而實現(xiàn)動態(tài)路由的功能。

application.yml示例

spring:
  application:
    name: cloud-gateway-gateway
  cloud:
    gateway:
      discovery:
        locator:
          # 開啟從注冊中心動態(tài)創(chuàng)建路由的功能,利用微服務名進行路由
          enabled: true
          # 用小寫的請求路徑的服務名匹配服務。默認為false(大寫)。(因為服務注冊時服務名被轉(zhuǎn)成大寫)
          lowerCaseServiceId: true

假如直接請求應用時的url是:localhost:8080/findUser(假設應用端口為8080)

則這樣配置后請求網(wǎng)關的url是:localhost:9000/user/findUser(假設網(wǎng)關服務端口為9000,應用服務名為user)

法2:指定路徑轉(zhuǎn)發(fā)路由

application.yml示例

spring:
  application:
    name: futureGateway
  cloud:
    gateway:
      routes:
        - id: accountServiceRouter # 路由ID,保持唯一
          uri: lb://accountService # 目標服務地址
          predicates: # 斷言(路由條件)
            - Path=/account/**
        - id: accountServiceRouter2 # 測試過濾器
          uri: lb://accountService # 目標服務地址
          predicates: # 斷言(路由條件)
            - Path=/client/account/**
          filters: # 過濾器
            - StripPrefix=1 # 截去路徑中的/client,剩余部分和uri拼接作為地址,數(shù)字代表要截去的位數(shù)
        - id: emailServiceRouter
          uri: http://127.0.0.1:8201
          predicates:
            - Path=/email/**

id

        在一個網(wǎng)關中,id要是唯一的,命名的時候方便區(qū)分即可。

uri

        請求轉(zhuǎn)發(fā)的目標地址,可以以http、https、lb和ws等為前綴。例如:

1.http方式 :
uri: http://localhost:8001/
2.lb(注冊中心中服務名字)方式 :
uri: lb://cloud-payment-service
以lb為前綴的時候表示這是一個動態(tài)路由,GateWay會根據(jù)lb://后面的服務名稱從服務注冊中心中獲取服務實例,然后將請求轉(zhuǎn)發(fā)到具體的服務地址,實現(xiàn)負載均衡。
3.websocket方式 :
uri: ws://localhost:8001/ 

predicates

        斷言。通過斷言可以設置一組路由條件,可以根據(jù)請求方式、請求頭、請求參數(shù)、請求主機和請求路徑等斷言進行設置,通常我們使用請求路徑進行設置,只要請求地址和Path中的地址匹配,就會將請求轉(zhuǎn)發(fā),多個路徑以逗號分隔,例如:

spring:
  cloud:
    gateway:
      routes:
        - id: path_route
          uri: https://example.org
          predicates:
            - Path=/red/{segment},/blue/{segment}

filters

        過濾器。使用過濾器可以在網(wǎng)關轉(zhuǎn)發(fā)請求前和接收響應后執(zhí)行一些操作,例如鑒權、限流等,例如StripPrefix可以去掉客戶端請求地址中的若干路徑,然后將剩余的路徑和uri中的地址拼接后轉(zhuǎn)發(fā)。

        Filter分兩種,GatewayFilter和GlobalFilter,GatewayFilter應用在單個路由上,GlobalFilter應用在全局路由上。因為GlobalFilter可以使所有的路由都生效,所以可以用來實現(xiàn)統(tǒng)一的鑒權、日志記錄等功能。

方案2:代碼配置

示例配置

@Configuration
public class GatewayConfig {
    @Bean
    public RouteLocator customRouteLocator(RouteLocatorBuilder routeLocatorBuilder){
        // 路由構造器
        RouteLocatorBuilder.Builder routes = routeLocatorBuilder.routes();
 
        // 設置路徑
        routes.route("baidu_news_guonei_routh", r -> {
            return r.path("/guonei").uri("http://news.baidu.com/guonei");
        });
        routes.route("baidu_news_guoji_routh", r -> {
            return r.path("/guoji").uri("http://news.baidu.com/guoji");
        });
 
        return routes.build();
    }
}

到此這篇關于Spring cloud網(wǎng)關gateway進行websocket路由轉(zhuǎn)發(fā)規(guī)則配置的文章就介紹到這了,更多相關Spring cloud網(wǎng)關gateway 路由轉(zhuǎn)發(fā)規(guī)則內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java圖形用戶界面之列表框

    Java圖形用戶界面之列表框

    列表框通過Swing組件JList產(chǎn)生,其總是在屏幕上占據(jù)固定行數(shù)的空間。這篇文章主要介紹了java圖形用戶界面之列表框的相關資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-10-10
  • java之swing單選框用法實例分析

    java之swing單選框用法實例分析

    這篇文章主要介紹了java之swing單選框用法,以實例形式分析了swing圖形界面單選框的實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-09-09
  • Java之System.getProperty()的作用及使用說明

    Java之System.getProperty()的作用及使用說明

    這篇文章主要介紹了Java之System.getProperty()的作用及使用說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Java中使用HashMap時指定初始化容量性能解析

    Java中使用HashMap時指定初始化容量性能解析

    這篇文章主要為大家介紹了Java中使用HashMap時指定初始化容量性能解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • 淺談SpringCloud feign的http請求組件優(yōu)化方案

    淺談SpringCloud feign的http請求組件優(yōu)化方案

    這篇文章主要介紹了淺談SpringCloud feign的http請求組件優(yōu)化方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Java 圖片復制功能實現(xiàn)過程解析

    Java 圖片復制功能實現(xiàn)過程解析

    這篇文章主要介紹了Java 圖片復制功能實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • Java中的main函數(shù)的詳細介紹

    Java中的main函數(shù)的詳細介紹

    這篇文章主要介紹了Java中的main函數(shù)的詳細介紹的相關資料,main()函數(shù)在java程序中必出現(xiàn)的函數(shù),這里就講解下使用方法,需要的朋友可以參考下
    2017-09-09
  • mybatis-plus分頁查詢?nèi)N方法小結(jié)

    mybatis-plus分頁查詢?nèi)N方法小結(jié)

    本文主要介紹了mybatis-plus分頁查詢?nèi)N方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • springboot與springmvc基礎入門講解

    springboot與springmvc基礎入門講解

    本篇文章主要介紹了詳解快速搭建Spring Boot+Spring MVC,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-07-07
  • 一定要讓你搞懂Java位運算符

    一定要讓你搞懂Java位運算符

    這篇文章主要為大家介紹了Java位運算符,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01

最新評論