Переглянути джерело

feat:通过SpringCloudGateway网关组件访问服务提供方,通过配置文件配置开启服务发现功能,启用负载均衡

yang yi 1 рік тому
батько
коміт
5b1347754f

+ 1 - 1
member-service-consumer/src/main/java/anyi/space/memberConsumer/config/GatewayConfig.java

@@ -13,7 +13,7 @@ import org.springframework.http.HttpMethod;
  * @Data:2025/9/10 16:33
  * @Description: gateway配置类
  */
-@Configuration
+//@Configuration
 public class GatewayConfig {
     @Bean
     public RouteLocator myRouteLocator01(RouteLocatorBuilder builder){

+ 28 - 22
member-service-consumer/src/main/resources/application.yaml

@@ -7,29 +7,35 @@ spring:
     name: member-gateway
   cloud:
     gateway:
+      discovery:
+        locator:
+          #开启服务发现功能
+          enabled: true
       #配置路由,可以配置多组
-#      routes:
-#        #配置路由的id,需要全局唯一,查询数据使用该路由
-#        - id: member10001
-#          #路由转发的URI,最终转发的URL = URI + PATH
-#          uri: http://localhost:10001
-#          #配置路由的断言,满足条件时才进行路由
-#          predicates:
-#            #路径断言
-#            - Path=/member-gateway/member
-#            #方法断言
-#            - Method=GET
-#          filters:
-#            #重写路径,将请求路径中的member-gateway替换为member-provider,使用到正则表达式的命名捕获分组,语法格式:(?<捕获分组名称>pattern),引用捕获分组:$\{捕获分组名称}
-#            - RewritePath=/member-gateway/(?<segment>.*), /member-provider/$\{segment}
-#        #第二组路由,新增数据使用该路由
-#        - id: member10002
-#          uri: http://localhost:10002
-#          predicates:
-#            - Path=/member-gateway/member
-#            - Method=POST
-#          filters:
-#            - RewritePath=/member-gateway/(?<segment>.*), /member-provider/$\{segment}
+      routes:
+        #配置路由的id,需要全局唯一,查询数据使用该路由
+        - id: member10001
+          #路由转发的URI,最终转发的URL = URI + PATH
+          #uri: http://localhost:10001
+          #使用负载均衡
+          uri: lb://member-service-provider
+          #配置路由的断言,满足条件时才进行路由
+          predicates:
+            #路径断言
+            - Path=/member-gateway/member
+            #方法断言
+            - Method=GET
+          filters:
+            #重写路径,将请求路径中的member-gateway替换为member-provider,使用到正则表达式的命名捕获分组,语法格式:(?<捕获分组名称>pattern),引用捕获分组:$\{捕获分组名称}
+            - RewritePath=/member-gateway/(?<segment>.*), /member-provider/$\{segment}
+        #第二组路由,新增数据使用该路由
+        - id: member10002
+          uri: http://localhost:10002
+          predicates:
+            - Path=/member-gateway/member
+            - Method=POST
+          filters:
+            - RewritePath=/member-gateway/(?<segment>.*), /member-provider/$\{segment}
 eureka:
   instance:
     #配置注册到Eureka Server中的名称