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

SpringCloud Alibaba【三】Gateway

這篇具有很好參考價值的文章主要介紹了SpringCloud Alibaba【三】Gateway。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

在工作中遇到一種情況,一個父項(xiàng)目中有兩個子項(xiàng)目。實(shí)際使用時,需要外網(wǎng)可以訪問,寶信軟件只能將一個端口號發(fā)布在外網(wǎng)上,所以需要運(yùn)用網(wǎng)關(guān)技術(shù),通過一個端口號訪問兩個項(xiàng)目。
之前已經(jīng)試用nacos搭建了注冊中心

新建gateway子項(xiàng)目

pom.xml

導(dǎo)入依賴時注意SpringCloudAlibaba與gateway依賴的版本是否對應(yīng),否則啟動時會報(bào)錯。

<?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>testmaven32springcloud</artifactId>
        <groupId>com.hzx</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>gateway-project</artifactId>

    <dependencies>
        <!-- 此依賴已經(jīng)在父項(xiàng)目pom中導(dǎo)入
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
        -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>2.2.7.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
            <version>2.2.6.RELEASE</version>
        </dependency>
    </dependencies>
</project>

配置文件

將gateway服務(wù)注冊到nacos中

server:
  port: 8901
spring:
  cloud:
    nacos:
      discovery:
        server-addr: http://192.168.0.248:8848
        namespace: 42d5d19a-8564-4da2-8b97-7e4eac1c53a3
    gateway:
      discovery:
        locator:
          enabled: true
      globalcors:
        cors-configurations:
          '[/**]':  # 允許跨域訪問的資源
            allowedOrigins: "*" #跨域允許來源
            allowedMethods: "*"
            allowedHeaders: "*"
      default-filters:
        - DedupeResponseHeader=Vary Access-Control-Allow-Origin Access-Control-Allow-Credentials, RETAIN_FIRST
  application:
    name: nacos-gateway

配置文件中:spring.cloud.gateway.globalcors.cors-configurations是專門配置跨域的。也可以用配置類的方法(但我試過后沒有成功。。。)需注意配置類中UrlBasedCorsConfigurationSource的包名。

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.reactive.CorsWebFilter;
import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource;
import org.springframework.web.util.pattern.PathPatternParser;

@Configuration
public class CorsConfig {

    @Bean
    public CorsWebFilter corsWebFilter(){
        CorsConfiguration config = new CorsConfiguration();
        config.addAllowedMethod("*"); //允許的method
        config.addAllowedOrigin("*"); //允許的來源
        config.addAllowedHeader("*"); //允許的請求頭參數(shù)

        //允許訪問的資源
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser());
        source.registerCorsConfiguration("/**",config);

        return new CorsWebFilter(source);
    }
}

啟動類

在啟動類中需要加上注解:@EnableDiscoveryClient

@SpringBootApplication
@EnableDiscoveryClient
public class StartGatewayApplication {
    public static void main(String[] args) throws Exception {
        SpringApplication.run(StartGatewayApplication.class, args);
    }
}

以上就是gateway相關(guān)的代碼,啟動成功后就可以使用了。
我在學(xué)習(xí)的時候沒想到這么簡單。

訪問接口方式

http://ip:網(wǎng)關(guān)端口/nacos中注冊的服務(wù)名稱/controller層路徑

具體內(nèi)容見測試部分

測試

上一篇講nacos的文章中,我創(chuàng)建了兩個子項(xiàng)目,分別是:nacos-provider-project、nacos-consumer-project,連同gateway項(xiàng)目啟動后,在nacos可以看到注冊的服務(wù)。
SpringCloud Alibaba【三】Gateway,spring cloud,gateway,spring
在nacos-provider-project項(xiàng)目添加接口

    @RequestMapping(value = "/send/provider/{msg}",method = RequestMethod.GET)
    public String sendMessageProvider(@PathVariable String msg){
        return "調(diào)用生產(chǎn)者端接口,向生產(chǎn)者發(fā)送消息:"+msg;
    }

在nacos-consumer-project項(xiàng)目添加接口

    @RequestMapping(value = "/send/consumer/{msg}",method = RequestMethod.GET)
    public String sendMessageConsumer(@PathVariable String msg){
        return "調(diào)用消費(fèi)者端接口,向消費(fèi)者發(fā)送消息:"+msg;
    }

通過接口文檔測試上面的兩個接口
首先是直接通過項(xiàng)目本身的端口號訪問接口。其中8081和8091分別是兩個項(xiàng)目的端口號。
SpringCloud Alibaba【三】Gateway,spring cloud,gateway,spring
SpringCloud Alibaba【三】Gateway,spring cloud,gateway,spring
然后通過網(wǎng)關(guān)端口分別訪問兩個接口。其中8901為gateway項(xiàng)目端口號,nacos-provider與nacos-consumer分別為兩個項(xiàng)目在nacos注冊中心的服務(wù)名稱。
SpringCloud Alibaba【三】Gateway,spring cloud,gateway,spring
SpringCloud Alibaba【三】Gateway,spring cloud,gateway,spring

拓展

本文中使用的是gateway默認(rèn)配置網(wǎng)關(guān)的方法,開發(fā)者還可以自定義配置路由,也可以不通過注冊在nacos中的服務(wù)名就能訪問接口,但這兩種方法目前本人還不需要,所以文章中沒有寫出。文章來源地址http://www.zghlxwxcb.cn/news/detail-730791.html

到了這里,關(guān)于SpringCloud Alibaba【三】Gateway的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 【springcloud 微服務(wù)】Spring Cloud 微服務(wù)網(wǎng)關(guān)Gateway使用詳解

    目錄 一、微服務(wù)網(wǎng)關(guān)簡介 1.1 網(wǎng)關(guān)的作用 1.2 常用網(wǎng)關(guān) 1.2.1 傳統(tǒng)網(wǎng)關(guān) 1.2.2?云原生網(wǎng)關(guān)

    2023年04月16日
    瀏覽(31)
  • 【SpringCloud】11、Spring Cloud Gateway使用Sentinel實(shí)現(xiàn)服務(wù)限流

    1、關(guān)于 Sentinel Sentinel 是阿里巴巴開源的一個流量防衛(wèi)防護(hù)組件,可以為微服務(wù)架構(gòu)提供強(qiáng)大的流量防衛(wèi)能力,包括流量控制、熔斷降級等功能。Spring Cloud Gateway 與 Sentinel 結(jié)合,可以實(shí)現(xiàn)強(qiáng)大的限流功能。 Sentinel 具有以下特性: 豐富的應(yīng)用場景:Sentinel 承接了阿里巴巴近

    2024年02月01日
    瀏覽(23)
  • SpringCloud - Spring Cloud 之 Gateway網(wǎng)關(guān),Route路由,Predicate 謂詞/斷言,F(xiàn)ilter 過濾器(十三)

    SpringCloud - Spring Cloud 之 Gateway網(wǎng)關(guān),Route路由,Predicate 謂詞/斷言,F(xiàn)ilter 過濾器(十三)

    閱讀本文前可先參考 ??????SpringCloud - Spring Cloud根/父項(xiàng)目,開發(fā)準(zhǔn)備(二)_MinggeQingchun的博客-CSDN博客 SpringCloud - Spring Cloud 之 Gateway網(wǎng)關(guān)(十三)_MinggeQingchun的博客-CSDN博客 Web 有三大組件(監(jiān)聽器 過濾器 servlet),Spring Cloud GateWay 最主要的功能就是路由轉(zhuǎn)發(fā),而在定義

    2024年02月14日
    瀏覽(29)
  • SpringCloud Alibaba【三】Gateway

    SpringCloud Alibaba【三】Gateway

    在工作中遇到一種情況,一個父項(xiàng)目中有兩個子項(xiàng)目。實(shí)際使用時,需要外網(wǎng)可以訪問,寶信軟件只能將一個端口號發(fā)布在外網(wǎng)上,所以需要運(yùn)用網(wǎng)關(guān)技術(shù),通過一個端口號訪問兩個項(xiàng)目。 之前已經(jīng)試用nacos搭建了注冊中心 pom.xml 導(dǎo)入依賴時注意SpringCloudAlibaba與gateway依賴的版

    2024年02月07日
    瀏覽(19)
  • SpringCloud Alibaba Sentinel整合GateWay

    SpringCloud Alibaba Sentinel整合GateWay

    在微服務(wù)系統(tǒng)中,網(wǎng)關(guān)提供了微服務(wù)系統(tǒng)的統(tǒng)一入口,所以我們在做限流的時候,肯定是要在網(wǎng)關(guān)層面做一個流量的控制,Sentinel 支持對 Spring Cloud Gateway、Zuul 等主流的 API Gateway 進(jìn)行限流。 網(wǎng)關(guān): Sentinel 1.6.0 引入了 Sentinel API Gateway Adapter Common 模塊,此模塊中包含網(wǎng)關(guān)限流的

    2024年02月16日
    瀏覽(21)
  • SpringCloud Alibaba入門7之引入服務(wù)網(wǎng)關(guān)Gateway

    SpringCloud Alibaba入門7之引入服務(wù)網(wǎng)關(guān)Gateway

    我們需要在客戶端和服務(wù)端之間加一個統(tǒng)一的入口,來作為請求的統(tǒng)一接入,而在微服務(wù)的體系中,承擔(dān)這個角色的就是網(wǎng)關(guān)。我們只需要將網(wǎng)關(guān)的機(jī)器IP配置到DNS,或者接入負(fù)載,那么客戶端的服務(wù)最終通過我們的網(wǎng)關(guān),再轉(zhuǎn)發(fā)到對應(yīng)的服務(wù)端服務(wù)。 一、創(chuàng)建網(wǎng)關(guān)服務(wù) ?1.引

    2024年02月11日
    瀏覽(25)
  • springcloud Alibaba中g(shù)ateway和sentinel聯(lián)合使用

    springcloud Alibaba中g(shù)ateway和sentinel聯(lián)合使用

    看到這個文章相信你有一定的sentinel和gateway基礎(chǔ)了吧。 官網(wǎng)的gateway和sentinel聯(lián)合使用有些過時了,于是有了這個哈哈,給你看看官網(wǎng)的: 才sentinel1.6,現(xiàn)在都幾了啊,所以有些過時。 下面開始講解: 首先我們總的回顧一下,sentinel就是需要運(yùn)行一個jar包,開啟dashbord頁面,來

    2024年01月17日
    瀏覽(18)
  • springcloud-alibaba (04)Gateway與Nacos結(jié)合使用

    springcloud-alibaba (04)Gateway與Nacos結(jié)合使用

    ??歡迎來到這里,今天我將為大家介紹如何將Spring Cloud Gateway和Nacos結(jié)合使用,實(shí)現(xiàn)一個高效穩(wěn)定的服務(wù)網(wǎng)關(guān)!在微服務(wù)架構(gòu)中,API網(wǎng)關(guān)是必不可少的一部分,它提供了路由請求、負(fù)載均衡、安全認(rèn)證和限流等功能。Spring Cloud Gateway是基于Spring Framework、Spring Boot和Project Reacto

    2024年02月15日
    瀏覽(22)
  • 【SpringCloud Alibaba】Nacos Config配置管理與Gateway 網(wǎng)關(guān)

    【SpringCloud Alibaba】Nacos Config配置管理與Gateway 網(wǎng)關(guān)

    目錄 一、Config 遠(yuǎn)程配置 1.1 config 介紹 1.2?bootstrap.yml 配置文件 二、Gateway 網(wǎng)關(guān) 2.1 gateway 介紹 2.2 gateway 使用 2.2.1 方式一 2.2.2 方式二(動態(tài)路由) ????????微服務(wù)意味著要將單體應(yīng)用中的業(yè)務(wù)拆分成一個個子服務(wù),每個服務(wù)的粒度相對較小,因此系統(tǒng)中會出現(xiàn)大 量的服務(wù)。

    2024年02月02日
    瀏覽(89)
  • SpringCloud Alibaba Sentinel 與 SpringCloud Gateway 的限流有什么差別?(三種限流算法原理分析)

    SpringCloud Alibaba Sentinel 與 SpringCloud Gateway 的限流有什么差別?(三種限流算法原理分析)

    目錄 一、Sentinel 與 Gateway 的限流有什么差別? 1.1、前置知識 - 四種常見的限流算法 1.1.1、Tips 1.1.2、計(jì)數(shù)器算法 1)固定窗口計(jì)數(shù)器算法 2)滑動窗口計(jì)數(shù)器算法 1.1.3、令牌桶算法 1.1.4、漏桶算法 1.2、解決問題 1.1.1、Tips 限流, 就是指對服務(wù)器請求量做限制,避免因?yàn)橥话l(fā)的

    2024年01月25日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包