美文网首页
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