欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)邀請(qǐng)碼778899分享:Gateway的使用

柚子快報(bào)邀請(qǐng)碼778899分享:Gateway的使用

http://yzkb.51969.com/

身份認(rèn)證、權(quán)限檢驗(yàn)、路由、負(fù)載均衡、網(wǎng)絡(luò)限流

zuul是阻塞式,gateway是響應(yīng)式異步性能更好

1、導(dǎo)入pom依賴,搭建(網(wǎng)關(guān)單獨(dú)作為一個(gè)服務(wù),也要注冊(cè)入nacos、eruake)

org.springframework.cloud

spring-cloud-starter-gateway

com.alibaba.cloud

spring-cloud-starter-alibaba-nacos-discovery

2、配置

spring:

application:

name: gatewayservice # 服務(wù)名稱

profiles:

active: dev #開(kāi)發(fā)環(huán)境,這里是dev

cloud:

nacos:

server-addr: http://localhost:80 # Nacos地址

config:

file-extension: yaml # 文件后綴名

gateway:

routes:

- id: user-service # 路由標(biāo)示,必須唯一

uri: lb://userservice # 路由的月標(biāo)地址

predicates: # 路由斷言,判斷請(qǐng)求是否符合規(guī)則

- Path=/user/** # 路徑斷言,判斷路徑是否是以/user開(kāi)頭,如果是則符合

- id: order-service # 路由標(biāo)示,必須唯一

uri: lb://orderservice # 路由的月標(biāo)地址

predicates: # 路由斷言,判斷請(qǐng)求是否符合規(guī)則

- Path=/order/** # 路徑斷言,判斷路徑是否是以/user開(kāi)頭,如果是則符合

3、測(cè)試

4、路由斷言工廠

5、GatewayFilter(對(duì)請(qǐng)求和微服務(wù)返回?cái)?shù)據(jù)做處理)

官網(wǎng)有31種,自行查閱

filters: # 過(guò)濾器

- AddRequestHeader=Truth,Itcast is freaking awesome! # 加請(qǐng)求頭

filters作用于單獨(dú)某個(gè)路由的局部過(guò)濾器;default-filters作用于全局所有生效

gateway:

routes:

- id: user-service # 路由標(biāo)示,必須唯一

uri: lb://userservice # 路由的月標(biāo)地址

predicates: # 路由斷言,判斷請(qǐng)求是否符合規(guī)則

- Path=/user/** # 路徑斷言,判斷路徑是否是以/user開(kāi)頭,如果是則符合

- id: order-service # 路由標(biāo)示,必須唯一

uri: lb://orderservice # 路由的月標(biāo)地址

predicates: # 路由斷言,判斷請(qǐng)求是否符合規(guī)則

- Path=/order/** # 路徑斷言,判斷路徑是否是以/user開(kāi)頭,如果是則符合

filters:

- AddRequestHeader=Truth,Itcast is freaking awesome!

default-filters:

- AddRequestHeader=Truth,Itcast is freaking awesome!

6、GlobalFilter(全局,對(duì)一切的請(qǐng)求、響應(yīng)做處理,和上面作用一樣,區(qū)別在于上面基于配置邏輯固定,GlobalFilter基于自己定義實(shí)現(xiàn))

public interface GlobalFilter {

Mono filter(ServerWebExchange exchange, GatewayFilterChain chain);

}

@Order用于定義多個(gè)過(guò)濾器下執(zhí)行的順序,越小越優(yōu)先

// @Order(-1)

@Component

public class AuthorizeFilter implements GlobalFilter, Ordered {

@Override

public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) {

// 1.獲取請(qǐng)求參數(shù)

ServerHttpRequest request = exchange.getRequest();

MultiValueMap params = request.getQueryParams();

// 2.獲取參數(shù)中的 authorization 參數(shù)

String auth = params.getFirst("authorization");

// 3.判斷參數(shù)值是否等于 admin

if ("admin".equals(auth)) {

// 4.是,放行

return chain.filter(exchange);

}

// 5.否,攔截

// 5.1.設(shè)置狀態(tài)碼

exchange.getResponse().setStatusCode(HttpStatus.UNAUTHORIZED);

// 5.2.攔截請(qǐng)求

return exchange.getResponse().setComplete();

}

@Override

public int getOrder() {

return -1;

}

}

7、GlobalFilter和GatewayFilter的執(zhí)行順序

filters、defalut-filters都是GatewayFilter,

底層代碼使用適配器模式,

GatewayFilter類將GlobalFilter適配了過(guò)來(lái),組合在一個(gè)過(guò)濾器鏈路中執(zhí)行。

順序: 有來(lái)自配置文件的,有來(lái)自實(shí)現(xiàn)接口的,配置文件是按申明指定order再加上實(shí)現(xiàn)類自己定義了order。假如有同順序的,加載執(zhí)行順序?yàn)橄萪efault-filters->filters>GlobalFilter, 核心實(shí)現(xiàn)方法在RouteDefinitionRouteLocator類的getFilters()方法和FilteringWebHandler類handle()方法,將所有的排序集合返回

8、網(wǎng)關(guān)的統(tǒng)一跨域處理(域名、端口不同)

網(wǎng)關(guān)處理跨域采用的同樣是CORS方案,并且只需要簡(jiǎn)單配置即可實(shí)現(xiàn)

default-filters:

- AddRequestHeader=Truth,Itcast is freaking awesome!

globalcors: #全局的跨域處理

add-to-simple-url-handler-mapping: true #解決options請(qǐng)求被攔截問(wèn)題

corsConfigurations:

[/**]':

allowedOrigins: # 允許哪些網(wǎng)站的跨域請(qǐng)求

- "http://localhost:8090"

- "http://www.leyou.com"

alLowedMethods: # 允許的跨域ajax的請(qǐng)方式

- "GET"

- "POST"

- "DELETE"

- "PUT"

- "OPTIONS"

alLowedHeaders: "*" # 允許在請(qǐng)中攜帶的頭信息

allowCredentials: true # 是否允許攜帶cookie

cookiemaxAge: 360000 # 這次跨域檢測(cè)的有效期

柚子快報(bào)邀請(qǐng)碼778899分享:Gateway的使用

http://yzkb.51969.com/

好文鏈接

評(píng)論可見(jiàn),查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19217108.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問(wèn)

文章目錄