美文网首页
30.Gateway从nacos中获取服务信息

30.Gateway从nacos中获取服务信息

作者: LANSHENGYANG | 来源:发表于2020-06-01 17:29 被阅读0次

    Gateway快速入门

    • 通过浏览器访问api网关,然后通过网关请求转发到商品微服务

    基础版

    • 第1步:创建一个apigateway的模块,导入相关依赖
    <?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>com.example</groupId>
            <artifactId>springcloud-alibaba</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </parent>
        <groupId>com.example</groupId>
        <artifactId>api-gateway</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>api-gateway</name>
        <description>Demo project for Spring Boot</description>
    
        <properties>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <!--gateway 注意,此模块不能引入starter-web-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-gateway</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.junit.vintage</groupId>
                        <artifactId>junit-vintage-engine</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    </project>
    
    • 第2步:添加配置文件
    server:
      port: 7000
    spring:
      application:
        name: api-gateway
      cloud:
        gateway:
          routes: # 路由数组[]
            - id: product_route # 当前路由的标识,要求唯一,默认是UUID
              uri: http://localhost:8081 # 请求最终要转发的地址
              order: 1 # 路由的优先级,数字越小代表路由的优先级越高
              predicates:  #断言(条件判断,返回值是Boolean,转发请求要求满足的条件)
                - Path=/product-serv/** # 当请求路径满足path指定的规则时,此路由信息才会正常转发
              filters: # 过滤器(在请求传递过程中 对请求做一些手脚)
                - StripPrefix=1 # 在请求转发之前去掉一层路径
    
    • 第3步:启动项目,并通过网关去访问微服务


      image

    相关文章

      网友评论

          本文标题:30.Gateway从nacos中获取服务信息

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