当前位置: 首页 > article >正文

Solon Cloud Gateway 开发:熟悉 Cloud Gateway

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

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

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是否启用自动发现
- excludedServicesString[]排除服务
httpClientHttp 客户端的默认超时(单位:秒)
- connectTimeout连接超时
- requestTimeout请求超时
- responseTimeout响应超时
routesRoute[]路由
- idString标识(必选)
- indexInt顺序位
- targetURI目标(必选)
- predicatesRoutePredicateFactory检测器
- filtersRouteFilterFactory过滤器
defaultFiltersRouteFilterFactory所有路由的默认过滤器

2、配置示例

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

  • 手动配置示例
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"

  • 自动发现配置示例(需要引入 Solon Cloud Discovery 插件 )

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

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"
  • 测试示例地址:
http://localhost:8080/demo/test/run?name=noear

http://www.kler.cn/a/517286.html

相关文章:

  • jupyter配置说明
  • Ubuntu环境 nginx 源码 编译安装
  • 洛谷刷题1-3
  • css粘性定位超出指定宽度失效问题
  • 从零到上线:Node.js 项目的完整部署流程(包含 Docker 和 CICD)
  • 通过视觉语言模型蒸馏进行 3D 形状零件分割
  • 渐变颜色怎么调?
  • 【优选算法】9----长度最小的子数组
  • 寒武纪使用cnnl库函数实现卷积算子
  • 路由器旁挂三层网络实现SDWAN互联(爱快SD-WAN)
  • 浅析Dubbo 原理:架构、通信与调用流程
  • chrome小插件:长图片等分切割
  • MySQL(表空间)
  • Spring Boot(6)解决ruoyi框架连续快速发送post请求时,弹出“数据正在处理,请勿重复提交”提醒的问题
  • Yii框架中的路由配置:如何实现URL美化
  • web前端1--基础
  • GPU算力平台|在GPU算力平台部署ChatGLM4大模型的应用教程
  • kafka常用目录文件解析
  • 深度学习系列76:流式tts的一个简单实现
  • Vue3 + TS 实现批量拖拽 文件夹和文件 组件封装
  • SQL面试题3:累计汇总类、直播间同时在线问题
  • 翻译:How do I reset my FPGA?
  • 在Linux中,如何查询已安装软件包的版本信息?
  • 【电脑无法通过鼠标和键盘唤醒应该怎么办】
  • 9.1 GPTs 应用商店介绍:解锁定制化 AI 的无限潜能
  • 使用Swift Package Manager怎样区分debug和release打包环境