Solon Cloud Gateway 开发:熟悉 Cloud Gateway

Solon Cloud Gateway 是基于 Solon Cloud、Vert.X 和 Solon-Rx(reactive-streams) 接口实现,响应式的接口体验。因为内置了 solon-boot-vertx ,同时也支持 常规的 web 开发。

1、完整的配置说明(对应的配置结构类为:GatewayProperties)

yaml 复制代码
solon.cloud.gateway:
  discover:
    enabled: false
    excludedServices: 
      - "self-service"
  httpClient:
      responseTimeout: 1800 #单位:秒
  routes:
    - id: demo
      index: 0 #默认为0
      target: "http://localhost:8080" # 或 "lb://user-service"
      predicates:
        - "Path=/demo/**"
      filters:
        - "StripPrefix=1"
      timeout:
         responseTimeout: 1800 #单位:秒
  defaultFilters:
    - "AddRequestHeader=Gateway-Version,1.0"

配置项说明:

主要配置项 相关类型 说明
discover 自动发现配置(基于 solon cloud discovery)
- enabled 是否启用自动发现
- excludedServices String[] 排除服务
httpClient Http 客户端的默认超时(单位:秒)
- connectTimeout 连接超时
- requestTimeout 请求超时
- responseTimeout 响应超时
routes Route[] 路由
- id String 标识(必选)
- index Int 顺序位
- target URI 目标(必选)
- predicates RoutePredicateFactory 检测器
- filters RouteFilterFactory 过滤器
defaultFilters RouteFilterFactory 所有路由的默认过滤器

2、配置示例

添加 solon-lib 和 solon-cloud-gateway 插件后就可以开始配置了。

  • 手动配置示例
yaml 复制代码
solon.app:
  name: demo-gateway
  group: gateway

solon.cloud.gateway:
  routes:
    - id: demo
      target: "http://localhost:8080" #直接目标地址 或负载均衡地址 "lb://demo-service"
      predicates:
        - "Path=/demo/**"
      filters:
        - "StripPrefix=1"

使用发现服务配置时。约定 path 的第一段为 serviceName。

yaml 复制代码
solon.app:
  name: demo-gateway
  group: gateway

solon.cloud.nacos:
  server: "127.0.0.1:8848"   #以nacos为例

solon.cloud.gateway:
  discover:
    enabled: true
    excludedServices:
      - "self-service-name"
  defaultFilters:
      - "StripPrefix=1"
相关推荐
花月C1 分钟前
基于WebSocket的 “聊天” 业务设计与实战指南
java·网络·后端·websocket·网络协议
hongtianzai2 分钟前
Laravel7.x十大核心特性解析
java·c语言·开发语言·golang·php
计算机学姐8 分钟前
基于SpringBoot的校园二手交易系统
java·vue.js·spring boot·后端·spring·tomcat·intellij-idea
夕珩9 分钟前
Java 排序算法详解:冒泡排序、选择排序、堆排序
java·算法·排序算法
9523614 分钟前
初识多线程
java·开发语言·jvm·后端·学习·多线程
hongtianzai18 分钟前
Laravel9.X核心特性全解析
android·java·数据库
小陈工21 分钟前
2026年3月22日技术资讯洞察:数据库优化进入预测时代,网络安全威胁全面升级
java·开发语言·数据库·python·安全·web安全·django
小胖java22 分钟前
养老院管理系统
java·spring boot
爱丽_23 分钟前
synchronized到底锁的是什么:对象头 Mark Word、Monitor、锁升级与排查
java
ywlovecjy27 分钟前
Tomcat下载,安装,配置终极版(2024)
java·tomcat