国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

海南網(wǎng)站建設(shè)推廣線上營銷渠道有哪些

海南網(wǎng)站建設(shè)推廣,線上營銷渠道有哪些,網(wǎng)站如何做ssl認(rèn)證,遵義網(wǎng)站建設(shè)txwl目錄 API網(wǎng)關(guān) 好處 解決方案 Gateway 簡介 特征 核心概念 Route(路由) Predicate(斷言) Filter(過濾器) 工作流程 Route(路由) 路由配置方式 1.yml配置文件路由 2.bean進行配置 3.動態(tài)路由 動態(tài)路由 Predicate(斷言) 特點 常見斷言 示例 Filter(過濾器) …

目錄

API網(wǎng)關(guān)

好處

解決方案

Gateway

簡介

特征

核心概念

Route(路由)

Predicate(斷言)

Filter(過濾器)

工作流程

Route(路由)

路由配置方式

1.yml配置文件路由

2.bean進行配置

3.動態(tài)路由

動態(tài)路由

Predicate(斷言)

特點

常見斷言

示例

Filter(過濾器)

filter分類

Pre 類型

Post 類型

網(wǎng)關(guān)過濾器

格式

示例

全局過濾器

示例


在微服務(wù)架構(gòu)中,一個系統(tǒng)由多個微服務(wù)組成,而這些服務(wù)可能部署在不同的地區(qū)、不同的機房,客戶端想要連接,就需要知道它們具體的地址信息;

存在問題:

1.當(dāng)服務(wù)數(shù)量眾多時,客戶端需要維護大量的服務(wù)地址,這對于客戶端來說,是非常繁瑣的

2.某些情況下存在跨域請求問題

3.認(rèn)證難度大,每個微服務(wù)需要獨立認(rèn)證

API網(wǎng)關(guān)

????????網(wǎng)關(guān)是一個搭建在客戶端和微服務(wù)之間的服務(wù),我們可以在 API 網(wǎng)關(guān)中處理一些非業(yè)務(wù)功能的邏輯,例如權(quán)限驗證、監(jiān)控、緩存、請求路由等

????????網(wǎng)關(guān)就像整個微服務(wù)系統(tǒng)的門面一樣,是系統(tǒng)對外的唯一入口。有了它,客戶端會先將請求發(fā)送到 API 網(wǎng)關(guān),然后由 API 網(wǎng)關(guān)根據(jù)請求的標(biāo)識信息將請求轉(zhuǎn)發(fā)到微服務(wù)實例

好處

1.網(wǎng)關(guān)與微服務(wù)交互時,客戶端只需要知道網(wǎng)關(guān)地址即可,而不需要維護大量的服務(wù)地址,簡化了客戶端的開發(fā)

2.客戶端直接與網(wǎng)關(guān)通信,能夠減少客戶端與各個服務(wù)的交互次數(shù)

3.客戶端與后端的服務(wù)耦合度降低

4.節(jié)省流量,提高性能,提升用戶體驗

5.網(wǎng)關(guān)還提供了安全、流控、過濾、緩存、計費以及監(jiān)控等 API 管理功能

解決方案

1.gateway

2.zuul

3.kong

4.Nginx+Lua

Gateway

簡介

????????Spring Cloud 團隊基于 Spring 5.0、Spring Boot 2.0 和 Project Reactor 等技術(shù)開發(fā)的高性能 API 網(wǎng)關(guān)組件;旨在提供一種簡單而有效的途徑來發(fā)送 API,并為它們提供橫切關(guān)注點,例如:安全性,監(jiān)控/指標(biāo)和彈性

特征

1.基于 Spring Framework 5、Project Reactor 和 Spring Boot 2.0 構(gòu)建

2.任意請求屬性上匹配路由

3.斷言 和過濾器是特定于路由的

4.集成了 Hystrix 熔斷器

5.集成了 Spring Cloud DiscoveryClient(服務(wù)發(fā)現(xiàn)客戶端)

6.易于編寫斷言和過濾器

7.能夠限制請求頻率

8.能夠重寫請求路徑

核心概念

gateway最主要的功能就是路由轉(zhuǎn)發(fā),而在定義轉(zhuǎn)發(fā)規(guī)則時主要涉及到三個核心概念

Route(路由)

????????網(wǎng)關(guān)最基本的模塊。它由一個 ID、一個目標(biāo) URI、一組斷言(Predicate)和一組過濾器(Filter)組成

Predicate(斷言)

????????路由轉(zhuǎn)發(fā)的判斷條件,我們可以通過 Predicate 對?HTTP 請求進行匹配,例如請求方式、請求路徑、請求頭、參數(shù)等,如果請求與斷言匹配成功,則將請求轉(zhuǎn)發(fā)到相應(yīng)的服務(wù)。

Filter(過濾器)

????????我們可以使用它對請求進行攔截和修改,還可以使用它對上文的響應(yīng)進行再處理

工作流程

說明:

1.客戶端將請求發(fā)送到gateway

2.gateway通過gateway Handler Mapping找到相匹配得到路由,將其發(fā)送給gateway web Handler

3.gateway web Handler通過指定的過濾器鏈,將請求轉(zhuǎn)發(fā)到實際的服務(wù)節(jié)點中,執(zhí)行業(yè)務(wù)返回響應(yīng)結(jié)果

注意:

1.過濾器之間用虛線分開是因為過濾器可能會在轉(zhuǎn)發(fā)請求之前(pre)或之后(post)執(zhí)行業(yè)務(wù)邏輯

2.過濾器(Filter)可以在請求被轉(zhuǎn)發(fā)到服務(wù)端前,對請求進行攔截和修改,例如參數(shù)校驗、權(quán)限校驗、流量監(jiān)控、日志輸出以及協(xié)議轉(zhuǎn)換等

3.過濾器可以在響應(yīng)返回客戶端之前,對響應(yīng)進行攔截和再處理,例如修改響應(yīng)內(nèi)容或響應(yīng)頭、日志輸出、流量監(jiān)控等。

????????Gateway 的請求需要通過一定的匹配條件,才能定位到真正的服務(wù)節(jié)點。在將請求轉(zhuǎn)發(fā)到服務(wù)進行處理的過程前后(pre 和 post),我們還可以對請求和響應(yīng)進行一些精細化控制。

Route(路由)

????????路由是網(wǎng)關(guān)最基礎(chǔ)的部分,路由信息由一個ID、一個目的URL、一組斷言工廠和一組Filter組成。如果斷言為真,則說明請求URL和配置的路由匹配。

格式:

id:我們自定義的路由 ID,保持唯一

uri:目標(biāo)服務(wù)地址

路由配置方式

1.yml配置文件路由
#第一種:ws(websocket)方式: uri: ws://localhost:8888
#第二種:http方式: uri: http://localhost:8888/
#第三種:lb(注冊中心中服務(wù)名字)方式: uri: lb://consumer
spring:cloud:gateway:routes:# 路由id,沒有固定規(guī)則,建議配合服務(wù)名- id: consumer# 匹配后提供服務(wù)的路由地址# 需要注意的是uri的協(xié)議為lb,表示啟用Gateway的負載均衡功能。lb://serviceName是spring cloud gateway在微服務(wù)中自動為我們創(chuàng)建的負載均衡uri。uri: lb://consumerpredicates:# 斷言:路徑相匹配的進行路由- Path=/**
2.bean進行配置
@Configuration
public class GatewayConfig {@Beanpublic RouteLocator customerRouteLocator(RouteLocatorBuilder routeLocatorBuilder) {RouteLocatorBuilder.Builder routes = routeLocatorBuilder.routes();// 第一個參數(shù)是路由的唯一idroutes.route("consumer",r -> r.path("/hello").uri("http://localhost:8888/hello")).build();return routes.build();}
}
3.動態(tài)路由

可以通過服務(wù)名進行轉(zhuǎn)發(fā),無需配置routes也可以轉(zhuǎn)發(fā)

spring:application:name: gatewaycloud:gateway:discovery:locator:#開啟根據(jù)微服務(wù)名稱自動轉(zhuǎn)發(fā)enabled: true#小寫lower-case-service-id: true

動態(tài)路由

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

形式:

lb://service-name

lb:uri 的協(xié)議,表示開啟 Spring Cloud Gateway 的負載均衡功能。

service-name:服務(wù)名,Spring Cloud Gateway 會根據(jù)它獲取到具體的微服務(wù)地址。

Predicate(斷言)

????????Predicate 斷言來實現(xiàn) Route 路由的匹配規(guī)則。Predicate 是路由轉(zhuǎn)發(fā)的判斷條件,請求只有滿足了 Predicate 的條件,才會被轉(zhuǎn)發(fā)到指定的服務(wù)上進行處理;

特點

1.路由與斷言的關(guān)系為:一對多,一個路由可以包含多個不同斷言

2.一個請求想轉(zhuǎn)發(fā)到指定的路由上,就必須同時匹配路由上的所有斷言

3.當(dāng)一個請求同時滿足多個路由的斷言條件時,請求只會被首個成功匹配的路由轉(zhuǎn)發(fā)

常見斷言

示例

配置文件 application.yml中添加配置內(nèi)容

server:port: 9527  #端口號
spring:application:name: microServiceCloudGatewaycloud:gateway: #網(wǎng)關(guān)路由配置routes:#將 micro-service-cloud-provider-dept-8001 提供的服務(wù)隱藏起來,不暴露給客戶端,只給客戶端暴露 API 網(wǎng)關(guān)的地址 9527- id: provider_dept_list_routh   #路由 id,沒有固定規(guī)則,但唯一,建議與服務(wù)名對應(yīng)uri: http://localhost:8001          #匹配后提供服務(wù)的路由地址predicates:#以下是斷言條件,必選全部符合條件- Path=/dept/list/**               #斷言,路徑匹配 注意:Path 中 P 為大寫- Method=GET #只能時 GET 請求時,才能訪問

配置中在 spring.cloud.gateway.routes 下使用 predicates 屬性,定義了以下兩個斷言條件:

- Path=/dept/list/*

-Method=GET

HTTP 請求同時滿足以上所有的斷言時,該請求才會被轉(zhuǎn)發(fā)到指定的服務(wù)端中

?

Filter(過濾器)

????????出于安全方面的考慮,服務(wù)端提供的服務(wù)往往都會有一定的校驗邏輯,例如用戶登陸狀態(tài)校驗、簽名校驗等;微服務(wù)架構(gòu)中,系統(tǒng)由多個微服務(wù)組成,所有這些服務(wù)都需要這些校驗邏輯,此時我們就可以將這些校驗邏輯寫到Gateway的 Filter 過濾器中。

filter分類

Gateway 提供了以下兩種類型的過濾器,可以對請求和響應(yīng)進行精細化控制:

Pre 類型

????????這種過濾器在請求被轉(zhuǎn)發(fā)到微服務(wù)之前可以對請求進行攔截和修改,例如參數(shù)校驗、權(quán)限校驗、流量監(jiān)控、日志輸出以及協(xié)議轉(zhuǎn)換等操作。

Post 類型

????????這種過濾器在微服務(wù)對請求做出響應(yīng)后可以對響應(yīng)進行攔截和再處理,例如修改響應(yīng)內(nèi)容或響應(yīng)頭、日志輸出、流量監(jiān)控等。

網(wǎng)關(guān)過濾器

GatewayFilter 是 Gateway 網(wǎng)關(guān)中提供的一種應(yīng)用在單個或一組路由上的過濾器。它可以對單個路由或者一組路由上傳入的請求和傳出響應(yīng)進行攔截,并實現(xiàn)一些與業(yè)務(wù)無關(guān)的功能,比如登陸狀態(tài)校驗、簽名校驗、權(quán)限校驗、日志輸出、流量監(jiān)控等

格式
    spring:cloud:gateway: routes:- id: xxxxuri: xxxxpredicates:- Path=xxxxfilters:- AddRequestParameter=X-Request-Id,1024 #過濾器工廠會在匹配的請求頭加上一對請求頭,名稱為 X-Request-Id 值為 1024- PrefixPath=/dept #在請求路徑前面加上 /dept……

Gateway 內(nèi)置了多達 31 種 GatewayFilter,下表中列舉了幾種常用的網(wǎng)關(guān)過濾器及其使用示例:

示例

application.yml 中在添加一個動態(tài)路由:

- id: provider_dept_get_routh

????????uri: lb://MICROSERVICECLOUDPROVIDERDEPT #使用服務(wù)名代替上面的具體帶端口 ????????predicates:

????????????????- Path=/get/**

????????filters:

????????????????- PrefixPath=/dept #在請求路徑上增加一個前綴 /dept

全局過濾器

????????GlobalFilter 是一種作用于所有的路由上的全局過濾器,通過它,我們可以實現(xiàn)一些統(tǒng)一化的業(yè)務(wù)功能,例如權(quán)限認(rèn)證、IP 訪問限制等。當(dāng)某個請求被路由匹配時,那么所有的 GlobalFilter 會和該路由自身配置的 GatewayFilter 組合成一個過濾器鏈;

示例

1.新建一個名為?MyGlobalFilter 全局過濾器配置類

/**
* 自定義全局網(wǎng)關(guān)過濾器(GlobalFilter)
*/
@Component
@Slf4j
public class MyGlobalFilter implements GlobalFilter, Ordered {@Overridepublic Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {log.info("進入自定義的全局過濾器 MyGlobalFilter" + new Date());String uname = exchange.getRequest().getQueryParams().getFirst("uname");if (uname == null) {log.info("參數(shù) uname 不能為 null!");exchange.getResponse().setStatusCode(HttpStatus.NOT_ACCEPTABLE);return exchange.getResponse().setComplete();}return chain.filter(exchange);}@Overridepublic int getOrder() {//過濾器的順序,0 表示第一個return 0;}
}

2.使用瀏覽器訪問“http://eureka7001.com:9527/dept/list”,我們會發(fā)現(xiàn)訪問報 406 錯誤

3.瀏覽器訪問“http://eureka7001.com:9527/dept/list?uname=123”

http://m.aloenet.com.cn/news/1593.html

相關(guān)文章:

  • 嘉興網(wǎng)站系統(tǒng)總部外鏈工廠
  • web 網(wǎng)站做甘特圖教育機構(gòu)排名
  • 自己做國際網(wǎng)站網(wǎng)絡(luò)營銷管理
  • 有沒有靠譜的推廣平臺手機優(yōu)化軟件哪個好用
  • 怎么用ps做網(wǎng)站圖片nba排名西部和東部
  • 做網(wǎng)站搜索如何顯示官網(wǎng)高端網(wǎng)站定制開發(fā)
  • 蘭州網(wǎng)站建設(shè) 冰雨品牌推廣的具體方法
  • 站長平臺百度百度直播
  • 新手學(xué)做網(wǎng)站pdf手競價網(wǎng)官網(wǎng)
  • 網(wǎng)頁設(shè)計專業(yè)大學(xué)排名網(wǎng)站seo最新優(yōu)化方法
  • 網(wǎng)站選擇理由描述百度seo排名原理
  • 秦皇島網(wǎng)站建設(shè)哪家好天津做優(yōu)化好的公司
  • 博羅做網(wǎng)站報價軟文模板
  • 舞鋼市做網(wǎng)站開發(fā)的公司網(wǎng)絡(luò)營銷的目的是
  • 網(wǎng)站建設(shè)字圖search搜索引擎
  • 武漢手游網(wǎng)站開發(fā)推廣賺錢項目
  • 成都個人網(wǎng)站seo企業(yè)建站系統(tǒng)
  • 建站平臺在線提交表格數(shù)字營銷工具
  • 微信網(wǎng)站 手機網(wǎng)站互聯(lián)網(wǎng)廣告平臺排名
  • 私人網(wǎng)站服務(wù)器搭建怎么建立一個屬于自己的網(wǎng)站
  • 官方網(wǎng)站打不開怎么回事廣州企業(yè)推廣
  • 成都網(wǎng)站改版優(yōu)化寧波seo推廣咨詢
  • 網(wǎng)站單個頁面seo公司網(wǎng)站推廣
  • 怎樣做php網(wǎng)站初學(xué)seo網(wǎng)站推廣需要怎么做
  • 公司網(wǎng)站建設(shè)有用嗎谷歌優(yōu)化seo
  • 做折扣的網(wǎng)站有哪些定制網(wǎng)站
  • 網(wǎng)站做多少層級seo快速優(yōu)化技術(shù)
  • 濟南高端網(wǎng)站制作公司公司官網(wǎng)開發(fā)制作
  • 幫忙找人做網(wǎng)站網(wǎng)絡(luò)營銷概述
  • 晉城住房保障和城鄉(xiāng)建設(shè)管網(wǎng)站濟南seo小黑seo