美文网首页
spring cloud gateway 网关

spring cloud gateway 网关

作者: 小白_u767d | 来源:发表于2019-12-05 18:32 被阅读0次

    部署

    依赖管理

    1、新建springboot项目
    2、添加eureka依赖

            <!--监控模块-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-actuator</artifactId>
            </dependency>
            <!--eureka客户端-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
            </dependency>
    

    3、添加gateway依赖

     <!--gateway 使用的为webflux 不能再引入 web模块 容器使用netty-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-gateway</artifactId>
            </dependency>
    

    3、添加版本管理配置

    <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-dependencies</artifactId>
              <!--spring cloud 版本 注意与springboot版本对应-->
                    <version>Hoxton.RELEASE</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
    

    4、pom.xml

    <?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.2.1.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.gateway</groupId>
        <artifactId>gateway</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>zuul</name>
        <description>Demo project for Spring Boot</description>
    
        <properties>
            <java.version>1.8</java.version>
            <spring-cloud.version>Hoxton.RELEASE</spring-cloud.version>
        </properties>
    
        <dependencies>
            <!--gateway 使用的为webflux 不能再引入 web模块 容器使用netty-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-gateway</artifactId>
            </dependency>
      <!--监控模块-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-actuator</artifactId>
            </dependency>
      <!--eureka客户端-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
    
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-dependencies</artifactId>
                    <version>${spring-cloud.version}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    </project>
    

    属性配置

    1. gateway介绍
      现在网上eureka.client.service-url属性配置大多为所有注册中心以逗号分隔,实际发现配置部分注册中心即可,注册信息将同步到全部注册中心,但当配置的注册中心全部宕掉时,即使存在可用的其他注册中心,也将不可使用。
    2. application.properties
    server.port= 8081
    
    #注册中心注册节点,注册中心集群部署时以逗号分隔多个地址
    eureka.client.service-url.defaultZone= http://10.2.1.241/eureka/
    # 网关服务名
    spring.application.name= gateway
    #logging.level.root= debug
    #自动注册注册中心的服务路由 访问路径为http://网关地址/服务名称(小写)/**
    #默认负载模式为同等权重
    spring.cloud.gateway.discovery.locator.enabled= true
    #取消ribbon模块 抑制警告
    spring.cloud.loadbalancer.ribbon.enabled=false
    # 服务名小写访问 原访问方式为 http://网关地址/服务名称(大写)/** 现为http://网关地址/服务名称(小写)/**
    spring.cloud.gateway.discovery.locator.lower-case-service-id= true
    

    当前配置将自身也作为服务注册到注册中心,集群部署时将eureka.client.service-url.defaultZone配置为多个注册中心服务地址,以逗号分隔

    1. 启动服务
      访问注册中心将看到


      image.png

      则注册成功

    集群部署配置

    只需启动多个实例注册到注册中心即可

    相关文章

      网友评论

          本文标题:spring cloud gateway 网关

          本文链接:https://www.haomeiwen.com/subject/gzcjgctx.html