Springcloud集成gateway

  • 项目中添加了Spring Cloud Gateway的依赖
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
  • 在bootstrap.yml配置文件中配置路由规则,id是服务名,lb://表示使用负载均衡的方式访问服务,
    predicates是断言,满足匹配规则会进行转发。
spring:
  cloud:
    gateway:
      routes:
        - id: product-service
          uri: lb://product-service
          predicates:
            - Path=/product/**
        - id: order-service
          uri: lb://order-service
          predicates:
            - Path=/order/**
        - id: user-service
          uri: lb://user-service
          predicates:
            - Path=/user/**
  • 配置服务注册中心
spring:
  application:
    name: gateway-service
  cloud:
    nacos:
      config:
        server-addr: 192.168.0.104:8848
        file-extension: yml
        namespace: 071ad200-329c-47b3-8493-3271a6a184a2
      discovery:
        server-addr: 192.168.0.104:8848
  • 启动类配置,在启动类中添加@EnableDiscoveryClient注解,以启用服务发现功能
  • 测试:配置完成后,启动网关服务和各个微服务。通过网关的端口访问不同的服务路径,请求将被正确路由到对应的服务
  • 有配置中心使用配置中心注册的服务,没有配置中心,网关映射对的是其他服务的IP+端口

 

posted @ 2025-01-09 11:02  baihehua  阅读(58)  评论(0)    收藏  举报