当前位置:   article > 正文

spring cloud alibaba gateway (网关)_spring-cloud-starter-gateway 和spring cloud alibaba

spring-cloud-starter-gateway 和spring cloud alibaba对应关系

1、 创建springcloud项目

2、 启动两个服务用于测试;

  1. <dependencies>
  2. <!-- 不要加web -->
  3. <!-- <dependency>-->
  4. <!-- <groupId>org.springframework.boot</groupId>-->
  5. <!-- <artifactId>spring-boot-starter-web</artifactId>-->
  6. <!-- </dependency>-->
  7. <dependency>
  8. <groupId>org.springframework.boot</groupId>
  9. <artifactId>spring-boot-starter-tomcat</artifactId>
  10. <scope>provided</scope>
  11. </dependency>
  12. <!-- 版本 2.1.x.RELEASE 对应的是 Spring Boot 2.1.x 版本。版本 2.0.x.RELEASE 对应的是 Spring Boot 2.0.x 版本,版本 1.5.x.RELEASE 对应的是 Spring Boot 1.5.x 版本。-->
  13. <dependency>
  14. <groupId>com.alibaba.cloud</groupId>
  15. <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
  16. <version>2.2.4.RELEASE</version>
  17. </dependency>
  18. <dependency>
  19. <groupId>com.alibaba.cloud</groupId>
  20. <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  21. <version>2.2.4.RELEASE</version>
  22. </dependency>
  23. <dependency>
  24. <groupId>com.alibaba.cloud</groupId>
  25. <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
  26. <version>2.2.4.RELEASE</version>
  27. </dependency>
  28. <dependency>
  29. <groupId>org.springframework.cloud</groupId>
  30. <artifactId>spring-cloud-starter-openfeign</artifactId>
  31. <version>2.2.6.RELEASE</version>
  32. </dependency>
  33. <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-gateway -->
  34. <dependency>
  35. <groupId>org.springframework.cloud</groupId>
  36. <artifactId>spring-cloud-starter-gateway</artifactId>
  37. <version>2.2.6.RELEASE</version>
  38. </dependency>
  39. </dependencies>

2、编写yml (bootstrap.yml)

  1. spring:
  2. application:
  3. name: cloudalibaba-gateway9999
  4. cloud:
  5. nacos:
  6. config:
  7. server-addr: localhost:8848
  8. discovery:
  9. server-addr: localhost:8848
  10. sentinel:
  11. transport:
  12. dashboard: localhost:8080
  13. port: 8719
  14. gateway:
  15. discovery:
  16. locator:
  17. enabled: true #开启自动路由功能


上面是自动配置, 当然也是开启负载;这样的话我们的服务id是暴露在客户端上的;接下来是手动配置(是我们最常用的一种) 

修改yml

  1. spring:
  2. application:
  3. name: cloudalibaba-gateway9999
  4. cloud:
  5. nacos:
  6. config:
  7. server-addr: localhost:8848
  8. discovery:
  9. server-addr: localhost:8848
  10. sentinel:
  11. transport:
  12. dashboard: localhost:8080
  13. port: 8719
  14. gateway:
  15. # discovery:
  16. # locator:
  17. # enabled: true #开启自动路由功能(此时可以关闭)
  18. routes: # 这个也可配置多个
  19. - id: cloudalibaba-nacos9001-producer # 一般是使用调用的application Name 名
  20. uri: lb://cloudalibaba-nacos9001-producer # 启动手动配置负载均衡 lb 使用gateway的负载模式
  21. predicates:
  22. - Path=/getaway/**,/xxxx/** # 断言, 相当于对那个路径进行匹配, 如果没有加则无效, 可配置多个
  23. # routes:
  24. # - id: cloudalibaba-nacos9001-producer # 路由id 保证唯一
  25. # uri: http://localhost:9001/cloudalibaba-nacos9001-producer # 匹配路由服务的路由地址
  26. # predicates: # 断言
  27. # - Path=/getaway/** # 断言 路径匹配进行路由; 否则无效
  28. feign:
  29. sentinel:
  30. enabled: true
  31. server:
  32. port: 9999

这是简单的配置

  1. spring:
  2. application:
  3. name: cloudalibaba-gateway9999
  4. cloud:
  5. nacos:
  6. config:
  7. server-addr: localhost:8848
  8. discovery:
  9. server-addr: localhost:8848
  10. sentinel:
  11. transport:
  12. dashboard: localhost:8080
  13. port: 8719
  14. gateway:
  15. # discovery:
  16. # locator:
  17. # enabled: true #开启自动路由功能(此时可以关闭)
  18. routes: # 这个也可配置多个
  19. - id: cloudalibaba-nacos9001-producer # 一般是使用调用的application Name 名
  20. uri: lb://cloudalibaba-nacos9001-producer # 启动手动配置负载均衡 lb 使用gateway的负载模式
  21. predicates:
  22. - Path=/getaway/** # 断言, 相当于对那个路径进行匹配, 如果没有加则无效, 可配置多个
  23. - After=2022-07-11T23:44:18.207+08:00[Asia/Shanghai] # 断言相当与在值之后的请求可通过 - Before 在次之前请求可通过 - Between 在此之间的请求可哦通过
  24. - Cookie=username,[a-z]+ # 配置cookie的key跟value value是正则表达式,符合条件则通过
  25. - Header=X-Request-Id,\d+ # 匹配header数据比如有这个key, 而且这个key必须是数字
  26. - Host=***.xckk.com # 匹配当前的主机地址发出的请求
  27. - Method=GET, POST # 匹配请求方式
  28. - Query=id,.+ # 匹配请求参数
  29. - Weight=group1, 2 # 分流
  30. # routes:
  31. # - id: cloudalibaba-nacos9001-producer # 路由id 保证唯一
  32. # uri: http://localhost:9001/cloudalibaba-nacos9001-producer # 匹配路由服务的路由地址
  33. # predicates: # 断言
  34. # - Path=/getaway/** # 断言 路径匹配进行路由; 否则无效
  35. feign:
  36. sentinel:
  37. enabled: true
  38. server:
  39. port: 9999

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/301461
推荐阅读
相关标签
  

闽ICP备14008679号