GateWay路由映射


概念

在使用微服务时,会出现大量端口占用,而程序要想调用某个服务就必须知道他的端口
这是比较麻烦的 因此我们引入网关这一工具解决这种问题

导入依赖

Spring Cloud Gateway 是基于 Netty,跟 Servlet 不兼容,
所以你的工程中不能出现 Servlet 的组件 因此在该模块的pom文件依赖中不能出现 spring web 的依赖
导入依赖 这里我们直接与nacos结合 从nacos里寻找服务

        
            org.springframework.cloud
            spring-cloud-starter-gateway
        

        
            com.alibaba.csp
            sentinel-spring-cloud-gateway-adapter
        

        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-discovery
        

配置yml文件:

server:
  port: 8010
spring:
  application:
    name: gateway
  cloud:
    nacos:
      discovery:
        server-addr: http://192.168.98.1:8848  #nacos地址
    gateway:
      discovery:
        locator:
          enabled: true



测试使用

启动nacos
启动一个服务
在nacos查看服务是否注册成功

启动gateway服务
由于我们导入了spring-cloud-starter-alibaba-nacos-discovery依赖 gateway会自动从nacos寻找服务

现在服务端口是8081 gateway端口是8010
我们测试通过gateway来访问服务
格式为:端口/nacos的服务名/访问链接

成功访问