基于Spring Cloud Gateway,实现路由和负载均衡
import org.springframework.cloud.gateway.route.RouteLocator;
import org.springframework.cloud.gateway.route.builder.RouteLocatorBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class GatewayRoutes {
@Bean
public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
return builder.routes()
.route("path_route", r -> r.path("/get")
.uri("http://localhost:8081")
.order(1))
.route("host_route", r -> r.host("*.myhost.org")
.uri("http://localhost:8082")
.order(2))
.build();
}
}
这段代码定义了两条路由规则:
- 一条是通过路径匹配来进行路由,匹配所有访问路径为
/get
的请求,并将其转发到http://localhost:8081
。 - 另一条是通过域名匹配来进行路由,匹配所有访问域名符合
*.myhost.org
模式的请求,并将其转发到http://localhost:8082
。
这样配置后,Spring Cloud Gateway会根据这些规则来进行请求的路由和负载均衡。
评论已关闭