crm开发定制Gateway路由的配置方式

crm开发定制路由的配置方式


crm开发定制路由是网关配置的基本组成模块,和Zuulcrm开发定制的路由配置模块类似。一个Route模块由一个 ID,一个目标 URI,一组断言和一组过滤器定义。如果断言为真,则路由匹配,目标URI会被访问。

基础路由配置方式

如果请求的目标地址,是单个的URI资源路径,配置文件实例如下。

spring:  application:    name: api-gateway  cloud:    gateway:      routes:        - id: service1          uri: https://blog.csdn.net          predicates:            - Path=/csdn
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

各字段含义如下。

  • id:我们自定义的路由 ID,保持唯一
  • uri:目标服务地址
  • predicates:路由条件,Predicate 接受一个输入参数,返回一个布尔值结果。该接口包含多种默认方法来将 Predicate 组合成其他复杂的逻辑(比如:与,或,非)。

上面这段配置的意思是,配置了一个 id 为 url-proxy-1的URI代理规则,路由的规则为,当访问地址http://localhost:8080/csdn时,会路由到地址https://blog.csdn.net。

基于代码的路由配置方式

转发功能同样可以通过代码来实现,我们可以在启动类 GateWayApplication 中添加方法 customRouteLocator() 来定制转发规则。

@SpringBootApplication@EnableDiscoveryClientpublic class GatewayApplication {    public static void main(String[] args) {        SpringApplication.run(GatewayApplication.class, args);    }    @Bean    public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {        return builder.routes()                .route("path_route", r -> r.path("/csdn")                        .uri("https://blog.csdn.net"))                .build();    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

和注册中心相结合的路由配置方式

在uri的schema协议部分为自定义的lb:类型,表示从注册中心(如Eureka)订阅服务,并且通过负载均衡进行服务的路由。代码如下。

server:  port: 8080spring:  application:    name: api-gateway  cloud:    gateway:      routes:        - id: service1#          uri: http://127.0.0.1:9001          uri: lb://cloud-payment-service          predicates:            - Path=/payment/**eureka:  client:    service-url:      defaultZone: http://127.0.0.1:9004/eureka
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

注:这里cloud-payment-service是提前注册好的服务,且开放两个端口9000,9001供伦循使用。

注册中心相结合的路由配置方式,与单个URI的路由配置,区别其实很小,仅仅在于URI的schema协议不同。单个URI的地址的schema协议,一般为http或者https协议。启动多个支付微服务,会发现端口9000,9001轮流出现。

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