网站建设定制开发springcloud_2021.0.3学习笔记(六):使用gateway实现路由转发

        网站建设定制开发本文主要介绍如何在springcloud中通过gateway网站建设定制开发实现路由转发和之间的负载均衡。本例使用的springcloud版本为:2021.0.3,springboot版本为:2.6.8。

1、创建gateway网关项目

        打开idea新建项目,选择maven,创建springboot项目gateway-6001。

2、pom文件配置

         在项目pom中引入spring-cloud-starter-netflix-eureka-client和spring-cloud-starter-gateway依赖: 

  1. <dependencies>
  2. <dependency>
  3. <groupId>org.springframework.cloud</groupId>
  4. <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
  5. </dependency>
  6. <dependency>
  7. <groupId>org.springframework.cloud</groupId>
  8. <artifactId>spring-cloud-starter-gateway</artifactId>
  9. </dependency>
  10. </dependencies>

3、application.yml文件配置

        在项目resources文件夹下创建application.yml文件,并按如下内容进行配置:

  1. server:
  2. port: 6001
  3. eureka:
  4. client:
  5. service-url:
  6. defaultZone: http://localhost:7001/eureka
  7. fetch-registry: true
  8. instance:
  9. instance-id: gateway-${server.port}
  10. prefer-ip-address: true
  11. spring:
  12. application:
  13. name: gateway
  14. cloud:
  15. gateway:
  16. routes: # 网关路由配置
  17. - id: payment # 路由id,自定义,只要唯一即可
  18. uri: lb://PAYMENT-SERVER # 路由的目标地址 lb就是负载均衡,后面跟服务名称
  19. predicates: # 路由断言,也就是判断请求是否符合路由规则的条件
  20. - Path=/payment/** # 这个是按照路径匹配,只要以/payment/开头就符合要求

        其中spring.cloud.gateway下未网关路由的配置,id为路由id需要唯一不重复;uri为路由目标地址,lb + 服务名称可以使用负责均衡访问服务;predicates为路由断言;当前配置表示只要以/paymnet/开发的访问就会转发到PAYMENT-SERVER服务。

4、主应用类配置        

        在项目src/main/java下创建主应用类 GatewayApplication.java,添加注解@EnableEurekaClient、@SpringBootApplication。

  1. @EnableEurekaClient
  2. @SpringBootApplication
  3. public class GatewayApplication {
  4. public static void main(String[] args) {
  5. SpringApplication.run(GatewayApplication.class, args);
  6. }
  7. }

5、测试验证

        同时启动并运行项目eueka-server-7001、payment-8001、payment-8002、gateway-6001。然后在postman中进行接口调用测试。通过访问可以直接返回结果。


  

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发