国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【微服務(wù)筆記16】微服務(wù)組件之Gateway服務(wù)網(wǎng)關(guān)基礎(chǔ)環(huán)境搭建、高可用網(wǎng)關(guān)環(huán)境搭建

這篇具有很好參考價(jià)值的文章主要介紹了【微服務(wù)筆記16】微服務(wù)組件之Gateway服務(wù)網(wǎng)關(guān)基礎(chǔ)環(huán)境搭建、高可用網(wǎng)關(guān)環(huán)境搭建。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

這篇文章,主要介紹微服務(wù)組件之Gateway服務(wù)網(wǎng)關(guān)基礎(chǔ)環(huán)境搭建、高可用網(wǎng)關(guān)環(huán)境搭建。

目錄

一、Gateway服務(wù)網(wǎng)關(guān)

1.1、什么是Gateway

1.2、Gateway基礎(chǔ)環(huán)境搭建

(1)基礎(chǔ)環(huán)境介紹

(2)引入依賴

(3)添加路由配置信息

(4)運(yùn)行測(cè)試

1.3、Gateway三個(gè)核心概念

1.4、Gateway配置信息

(1)routes路由信息配置

(2)defaultFilters默認(rèn)過(guò)濾器配置

(3)predicates斷言配置

1.5、高可用網(wǎng)關(guān)環(huán)境搭建

(1)搭建nginx環(huán)境

(2)創(chuàng)建兩個(gè)Gateway工程


一、Gateway服務(wù)網(wǎng)關(guān)

1.1、什么是Gateway

在微服務(wù)架構(gòu)里面,會(huì)存在很多的微服務(wù)應(yīng)用程序,這些服務(wù)集群部署在一起對(duì)外提供服務(wù),一般實(shí)際開發(fā)中,都會(huì)通過(guò)一個(gè)公共的入口地址將微服務(wù)應(yīng)用暴露給客戶端,這個(gè)公共的入口將其單獨(dú)作為一個(gè)微服務(wù)應(yīng)用,這個(gè)應(yīng)用程序就叫做:服務(wù)網(wǎng)關(guān),常見(jiàn)的網(wǎng)關(guān)有:zuul、Gateway等,其中Gateway的出現(xiàn)就是為了替代zuul網(wǎng)關(guān)。基于網(wǎng)關(guān),可以實(shí)現(xiàn)統(tǒng)一用戶認(rèn)證、統(tǒng)一權(quán)限校驗(yàn)、接口限流、服務(wù)降級(jí)、接口調(diào)用統(tǒng)計(jì)、協(xié)議適配等功能。

gateway搭建,微服務(wù)筆記,微服務(wù),gateway,Gateway服務(wù)網(wǎng)關(guān),微服務(wù)網(wǎng)關(guān),路由配置

有五種實(shí)現(xiàn)網(wǎng)關(guān)功能的方案,分別是:

  • 第一種:nginx + Lua。
  • 第二種:Kong。
  • 第三種:Traefik。
  • 第四種:Spring Cloud Netflix Zuul。
  • 第五種:Spring Cloud Gateway。

1.2、Gateway基礎(chǔ)環(huán)境搭建

(1)基礎(chǔ)環(huán)境介紹

這篇文章搭建的基礎(chǔ)環(huán)境主要包含下面幾個(gè)工程:

  • 注冊(cè)中心:eureka服務(wù)端(直接使用前幾篇文章的應(yīng)用程序)。
  • 服務(wù)提供者:搭建一個(gè)服務(wù)消費(fèi)者(consumer-client)、一個(gè)服務(wù)提供者(provider-client)(直接使用前幾篇文章的應(yīng)用程序)。
  • 網(wǎng)關(guān)工程(gateway-server):搭建Gateway網(wǎng)關(guān)工程(這篇文章需要?jiǎng)?chuàng)建的新工程)。

(2)引入依賴

  • 創(chuàng)建一個(gè)【gateway-server】工程,引入【gateway】依賴。
<!-- 引入 Gateway 依賴 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>

(3)添加路由配置信息

server:
  port: 8888
spring:
  application:
    name: gateway-server
  # 配置 gateway 路由信息
  cloud:
    gateway:
      # 指定路由信息
      routes:
        - id: consumer-client # 路由唯一標(biāo)識(shí),一般和微服務(wù)應(yīng)用名稱相同即可
          # 目標(biāo)路由的服務(wù)地址,這里采用的是靜態(tài)路由(將微服務(wù)的地址寫死在配置文件里面)
          uri: http://localhost:8081/
          # 配置斷言,也就是請(qǐng)求的URI滿足哪些規(guī)則,才可以匹配當(dāng)前這個(gè)routes路由信息
          predicates:
            # 這里使用路由斷言,所有 /api/consumer 開頭的請(qǐng)求,都將轉(zhuǎn)發(fā)到 http://localhost:8081/ 這個(gè)服務(wù)上面
            - Path=/api/consumer/**

(4)運(yùn)行測(cè)試

依次啟動(dòng)eureka、consumer-client、provider-client、gateway-server四個(gè)工程,打開postman,訪問(wèn)gateway-server網(wǎng)關(guān)工程訪問(wèn)接口【http://localhost:8888/api/consumer/getUserInfo?username=csdn2023】,此時(shí)可以正常返回響應(yīng)結(jié)果,就表示網(wǎng)關(guān)工程的基礎(chǔ)環(huán)境就搭建成功。

gateway搭建,微服務(wù)筆記,微服務(wù),gateway,Gateway服務(wù)網(wǎng)關(guān),微服務(wù)網(wǎng)關(guān),路由配置

1.3、Gateway三個(gè)核心概念

Gateway網(wǎng)關(guān)中,有三個(gè)重要的核心概念,分別是:路由Routes、斷言Predicates、過(guò)濾器Filter。路由Routes是Gateway網(wǎng)關(guān)中最基本的一個(gè)組成部分,它主要負(fù)責(zé)定義微服務(wù)的路由信息,它是由路由ID、目標(biāo)URI、一組斷言、一組過(guò)濾器組成的。

當(dāng)客戶端一個(gè)請(qǐng)求到達(dá)Gateway網(wǎng)關(guān)的時(shí)候,首先會(huì)被Gateway Handler Mapping處理,根據(jù)URI找到能夠匹配的Routes路由信息,然后將路由信息發(fā)送到Global Web Handler進(jìn)行微服務(wù)應(yīng)用程序的接口調(diào)用,調(diào)用之前會(huì)經(jīng)過(guò)一系列的Filter,接口調(diào)用成功之后,也會(huì)經(jīng)過(guò)一系列的Filter,最終返回給客戶端,這就是Gateway網(wǎng)關(guān)的一個(gè)大致工作原理。

斷言是指定路由信息滿足哪些規(guī)則時(shí)候,才會(huì)匹配成功,簡(jiǎn)單的理解為,斷言就是一系列的if判斷語(yǔ)句,只有當(dāng)前客戶端請(qǐng)求滿足條件的時(shí)候,才能夠找到這個(gè)路由信息,然后根據(jù)這個(gè)路由信息去調(diào)用微服務(wù)。

過(guò)濾器Filter是在調(diào)用微服務(wù)的過(guò)程中,可以在過(guò)濾器中增加一些額外的操作,比如:增加header頭信息、去掉某些請(qǐng)求參數(shù)等等,有兩種類型的過(guò)濾器:Gateway Filter路由過(guò)濾器 和 Global Filter全局過(guò)濾器。

1.4、Gateway配置信息

在GatewayProperties類中定義了Gateway網(wǎng)關(guān)相關(guān)的配置信息,其中大致包含:routes、defaultFilters、streamingMediaTypes等信息,如下所示:

gateway搭建,微服務(wù)筆記,微服務(wù),gateway,Gateway服務(wù)網(wǎng)關(guān),微服務(wù)網(wǎng)關(guān),路由配置

(1)routes路由信息配置

其中routes是最關(guān)鍵的配置信息,用于定義路由信息,每一個(gè)路由信息都被抽象成了RouteDefination對(duì)象,這個(gè)類中包含:id、uri、order、predicates、filters、metadata。

id用于指定路由的唯一標(biāo)識(shí),一般和微服務(wù)名稱相同即可;uri用于指定目標(biāo)微服務(wù)的服務(wù)地址(可以指定具體的服務(wù)地址,也可以結(jié)合注冊(cè)中心實(shí)現(xiàn)動(dòng)態(tài)路由功能);order用于指定多種路由中的優(yōu)先級(jí);predicates用于指定斷言;filters用于設(shè)置過(guò)濾器;metedata用于設(shè)置元數(shù)據(jù)信息。

gateway搭建,微服務(wù)筆記,微服務(wù),gateway,Gateway服務(wù)網(wǎng)關(guān),微服務(wù)網(wǎng)關(guān),路由配置

(2)defaultFilters默認(rèn)過(guò)濾器配置

Gateway給我們提供了一些默認(rèn)的過(guò)濾器,使用的時(shí)候通過(guò)defaultFilters屬性指定,每一個(gè)過(guò)濾器對(duì)象被抽象成一個(gè)FilterDefination類。

gateway搭建,微服務(wù)筆記,微服務(wù),gateway,Gateway服務(wù)網(wǎng)關(guān),微服務(wù)網(wǎng)關(guān),路由配置

(3)predicates斷言配置

predicates屬性用于指定路由的斷言,滿足斷言的URI將匹配當(dāng)前這個(gè)路由信息。斷言可以有多個(gè),只要滿足其中一個(gè)條件,就可以匹配當(dāng)前這個(gè)路由信息,按照順序依次匹配,只要前面匹配成功了,后面的斷言就不會(huì)執(zhí)行了,每一個(gè)斷言對(duì)象都被抽象成了一個(gè)PredicateDefination類。

gateway搭建,微服務(wù)筆記,微服務(wù),gateway,Gateway服務(wù)網(wǎng)關(guān),微服務(wù)網(wǎng)關(guān),路由配置

1.5、高可用網(wǎng)關(guān)環(huán)境搭建

在高并發(fā)的場(chǎng)景下,一臺(tái)Gateway網(wǎng)關(guān)服務(wù)沒(méi)辦法處理大量的請(qǐng)求,如果此時(shí)Gateway服務(wù)宕機(jī)了,那么整個(gè)微服務(wù)系統(tǒng)也將不可用,所以為了提高服務(wù)的可用性,需要對(duì)Gateway部署多臺(tái)服務(wù)結(jié)點(diǎn),也就是集群部署Gateway網(wǎng)關(guān)。

那這里就有一個(gè)問(wèn)題啦,客戶端應(yīng)該和哪個(gè)Gateway進(jìn)行交互呢???為了解決這個(gè)問(wèn)題,就需要借助于Nginx服務(wù)器來(lái)實(shí)現(xiàn)請(qǐng)求的分發(fā),將請(qǐng)求依次分發(fā)到不同的Gateway網(wǎng)關(guān)中,從而實(shí)現(xiàn)高可用的網(wǎng)關(guān)環(huán)境。

gateway搭建,微服務(wù)筆記,微服務(wù),gateway,Gateway服務(wù)網(wǎng)關(guān),微服務(wù)網(wǎng)關(guān),路由配置

(1)搭建nginx環(huán)境


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    upstream gateway {
        server 127.0.0.1:8888;
        server 127.0.0.1:9999;
    }

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }
        location /api-gateway {
            # 負(fù)載均衡
            proxy_pass http://gateway;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

}

(2)創(chuàng)建兩個(gè)Gateway工程

要實(shí)現(xiàn)Gateway網(wǎng)關(guān)的高可用,就需要部署多臺(tái)網(wǎng)關(guān)工程,然后通過(guò)nginx請(qǐng)求轉(zhuǎn)發(fā),指定通過(guò)哪一臺(tái)Gateway網(wǎng)關(guān)進(jìn)行請(qǐng)求處理。采用這種模式搭建的Gateway網(wǎng)關(guān),就可以實(shí)現(xiàn)高可用,即使其中一臺(tái)Gateway宕機(jī)了,也有其他的Gateway可以繼續(xù)提高服務(wù)。

到此, Gateway服務(wù)網(wǎng)關(guān)的基礎(chǔ)環(huán)境、高可用網(wǎng)關(guān)環(huán)境搭建就搭建完啦。

綜上,這篇文章結(jié)束了,主要介紹微服務(wù)組件之Gateway服務(wù)網(wǎng)關(guān)基礎(chǔ)環(huán)境搭建、高可用網(wǎng)關(guān)環(huán)境搭建。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-732925.html

到了這里,關(guān)于【微服務(wù)筆記16】微服務(wù)組件之Gateway服務(wù)網(wǎng)關(guān)基礎(chǔ)環(huán)境搭建、高可用網(wǎng)關(guān)環(huán)境搭建的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 如何使用 Gateway 搭建網(wǎng)關(guān)服務(wù)及實(shí)現(xiàn)動(dòng)態(tài)路由?

    如何使用 Gateway 搭建網(wǎng)關(guān)服務(wù)及實(shí)現(xiàn)動(dòng)態(tài)路由?

    網(wǎng)關(guān)作為微服務(wù)中非常重要的一部分,是必須要掌握的;本文記錄一下我是如何使用Gateway搭建網(wǎng)關(guān)服務(wù)及實(shí)現(xiàn)動(dòng)態(tài)路由的,幫助大家學(xué)習(xí)如何快速搭建一個(gè)網(wǎng)關(guān)服務(wù),了解路由相關(guān)配置,鑒權(quán)的流程及業(yè)務(wù)處理,有興趣的一定看到最后,非常適合沒(méi)接觸過(guò)網(wǎng)關(guān)服務(wù)的同學(xué)當(dāng)作

    2024年02月09日
    瀏覽(22)
  • springboot整合spring cloud gateway搭建網(wǎng)關(guān)服務(wù)

    springboot整合spring cloud gateway搭建網(wǎng)關(guān)服務(wù)

    spring cloud netflix zuul、spring cloud gateway是最常見(jiàn)的微服務(wù)網(wǎng)關(guān),通過(guò)網(wǎng)關(guān),我們可以在請(qǐng)求到達(dá)后端指定服務(wù)之前/后端服務(wù)處理完業(yè)務(wù)響應(yīng)數(shù)據(jù)之后對(duì)響應(yīng)進(jìn)行對(duì)請(qǐng)求/響應(yīng)進(jìn)行處理。 比如常見(jiàn)的參數(shù)校驗(yàn)、接口鑒權(quán)等等,在后端服務(wù)的攔截器和過(guò)濾器能做的事在網(wǎng)關(guān)都可以做

    2024年02月07日
    瀏覽(26)
  • SpringCloud基礎(chǔ)篇-10-服務(wù)網(wǎng)關(guān)-Gateway

    SpringCloud基礎(chǔ)篇-10-服務(wù)網(wǎng)關(guān)-Gateway

    上一代網(wǎng)關(guān)Zuul 官網(wǎng) SpringCloudGateway官網(wǎng),變化很大,以實(shí)際為準(zhǔn) Gateway是在Spring生態(tài)系統(tǒng)之上構(gòu)建的API網(wǎng)關(guān)服務(wù),基于Spring5SpringBoot2和ProjectReactor等技術(shù)。 Gateway旨在提供一種簡(jiǎn)單而有效的方式來(lái)對(duì)API進(jìn)行路由,以及提供一些強(qiáng)大的過(guò)濾器功能,例如:熔斷、限流、重試等 SpringCl

    2024年04月11日
    瀏覽(20)
  • Java之SpringCloud Alibaba【七】【Spring Cloud微服務(wù)網(wǎng)關(guān)Gateway組件】

    Java之SpringCloud Alibaba【七】【Spring Cloud微服務(wù)網(wǎng)關(guān)Gateway組件】

    Java之SpringCloud Alibaba【一】【Nacos一篇文章精通系列】 跳轉(zhuǎn) Java之SpringCloud Alibaba【二】【微服務(wù)調(diào)用組件Feign】 跳轉(zhuǎn) Java之SpringCloud Alibaba【三】【微服務(wù)Nacos-config配置中心】 跳轉(zhuǎn) Java之SpringCloud Alibaba【四】【微服務(wù) Sentinel服務(wù)熔斷】 跳轉(zhuǎn) Java之SpringCloud Alibaba【五】【微服務(wù)

    2024年02月06日
    瀏覽(34)
  • springboot和flask整合nacos,使用openfeign實(shí)現(xiàn)服務(wù)調(diào)用,使用gateway實(shí)現(xiàn)網(wǎng)關(guān)的搭建(附帶jwt續(xù)約的實(shí)現(xiàn))

    springboot和flask整合nacos,使用openfeign實(shí)現(xiàn)服務(wù)調(diào)用,使用gateway實(shí)現(xiàn)網(wǎng)關(guān)的搭建(附帶jwt續(xù)約的實(shí)現(xiàn))

    插件 版本 jdk 21 springboot 3.0.11 springcloud 2022.0.4 springcloudalibaba 2022.0.0.0 nacos 2.2.3(穩(wěn)定版) python 3.8 先創(chuàng)建目錄,分別創(chuàng)建config,logs,data目錄,單獨(dú)創(chuàng)建一個(gè)容器 ?將配置文件拷貝出來(lái)(主要是application.properties和logback.xml) 修改mysql的信息(修改文件application.properties) 再次運(yùn)行

    2024年02月07日
    瀏覽(28)
  • 分布式組件 gateway 網(wǎng)關(guān)

    網(wǎng)關(guān)作為流量的入口,常用功能包括路由轉(zhuǎn)發(fā)、權(quán)限校驗(yàn)、限流控制。 bootstrap.yml nacos config 導(dǎo)入的依賴 詳細(xì)的后面在介紹

    2024年03月27日
    瀏覽(18)
  • SpringCloud之網(wǎng)關(guān)組件Gateway學(xué)習(xí)

    SpringCloud之網(wǎng)關(guān)組件Gateway學(xué)習(xí)

    Spring Cloud Gateway是Spring Cloud的?個(gè)全新項(xiàng)目,目標(biāo)是取代Netflix Zuul,它基于Spring5.0+SpringBoot2.0+WebFlux(基于高性能的Reactor模式響應(yīng)式通信框架Netty,異步?阻塞模型)等技術(shù)開發(fā),性能?于Zuul,官方測(cè)試,Gateway是Zuul的1.6倍,旨在為微服務(wù)架構(gòu)提供種簡(jiǎn)單有效的統(tǒng)?的API路由管

    2024年03月24日
    瀏覽(17)
  • Gateway網(wǎng)關(guān)組件(在Spring Cloud整合Gateway(idea19版本))

    Gateway網(wǎng)關(guān)組件(在Spring Cloud整合Gateway(idea19版本))

    ????????Spring Cloud Gateway官網(wǎng):Spring Cloud Gateway ????????局域網(wǎng)中就有網(wǎng)關(guān)這個(gè)概念,局域網(wǎng)接收數(shù)據(jù)或發(fā)送數(shù)據(jù)都要通過(guò)網(wǎng)關(guān),比如使用VMware虛擬機(jī)軟件搭建虛擬機(jī)集群的時(shí)候,往往我們需要選擇IP段中的?個(gè)IP作為網(wǎng)關(guān)地址,網(wǎng)關(guān)可以對(duì)請(qǐng)求進(jìn)行控制,提升我們系統(tǒng)的安

    2024年02月16日
    瀏覽(26)
  • 【微服務(wù)筆記17】微服務(wù)組件之Gateway實(shí)現(xiàn)動(dòng)態(tài)路由、配置路由規(guī)則、路由過(guò)濾器

    【微服務(wù)筆記17】微服務(wù)組件之Gateway實(shí)現(xiàn)動(dòng)態(tài)路由、配置路由規(guī)則、路由過(guò)濾器

    這篇文章,主要介紹微服務(wù)組件之Gateway實(shí)現(xiàn)動(dòng)態(tài)路由、配置路由映射規(guī)則、路由過(guò)濾器。 目錄 一、動(dòng)態(tài)路由配置 1.1、動(dòng)態(tài)URI路由配置 (1)引入eureka客戶端依賴 (2)添加路由配置 1.2、服務(wù)名稱轉(zhuǎn)發(fā)配置 二、斷言配置規(guī)則 2.1、路由斷言工廠類 2.2、Path路徑匹配 2.3、Query請(qǐng)求

    2023年04月23日
    瀏覽(27)
  • Gateway網(wǎng)關(guān)搭建

    Gateway網(wǎng)關(guān)搭建

    #如何看待「前端已死論」?# ? 目錄 一、網(wǎng)關(guān) 二、搭建網(wǎng)關(guān)服務(wù)步驟 2.1 創(chuàng)建新的module,引入SpringCloudGateway的依賴和nacos的服務(wù)發(fā)現(xiàn)依賴,然后創(chuàng)建啟動(dòng)類 2.2 編寫路由配置及nacos地址 2.3 測(cè)試 三、 總結(jié) 一、網(wǎng)關(guān) 網(wǎng)關(guān)是一個(gè)獨(dú)立的服務(wù),搭建網(wǎng)關(guān)服務(wù)時(shí)需要引用兩個(gè)依賴 網(wǎng)

    2024年02月04日
    瀏覽(13)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包