所有微服务的调用需要先经过网管微服务,然后间接链接到真正提供服务的微服务,这样就不用暴露真正的服务器地址
pom依赖
yml配置文件
server: port: 9527 spring: application: name: cloud-gateway cloud: gateway: routes: - id: payment_routh #路由id,没有固定规则,但要求唯一,建议配合服务名 uri: http://localhost:8001 #匹配后提供服务的路由地址 predicates: - Path=/payment/get/** #断言,路径相匹配的则进行路由 - id: payment_routh2 #路由id,没有固定规则,但要求唯一,建议配合服务名 uri: http://localhost:8001 #匹配后提供服务的路由地址 predicates: - Path=/payment/lb/** #断言,路径相匹配的则进行路由配置访问路由端口/guonei链接到http://news.baidu.com/guonei的示例代码
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 GatewayConfigration { @Bean public RouteLocator myRouteLocator(RouteLocatorBuilder builder){ RouteLocatorBuilder.Builder routes=builder.routes(); routes.route("my_path_routh",r->r.path("/guonei").uri("http://news.baidu.com/guonei")); return routes.build(); } }