gateway网关集群,Knife4j v4.3.0 发布,深挖 Gateway 网关聚合场景,解决各种疑难杂症

科技资讯 投稿 5600 0 评论

gateway网关集群,Knife4j v4.3.0 发布,深挖 Gateway 网关聚合场景,解决各种疑难杂症

gateway网关集群,大家好,Knife4j v4.3.0版本发版了 

4.3.0版本主要解决在Spring Cloud Gateway网关组件下聚合Swagger2或者OpenAPI3提供最简单的配置,简化开发者工作。

最简单的配置如下(4个配置属性完成所有子服务的网关聚合):

knife4j: gateway: enabled: true strategy: discover discover: # 聚合所有子服务(swagger2规范),子服务是3规范则替换为openapi3 version: swagger2 enabled: true

Maven坐标

<dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-gateway-spring-boot-starter</artifactId> <version>4.3.0</version> </dependency>

更新日志

优化knife4j-gateway组件

1、在gateway网关聚合服务中,排除其他服务支持正则表达式

knife4j: gateway: enabled: true strategy: discover discover: version: swagger2 enabled: true excluded-services: # 排除order开头的配置 - order.*

2、聚合子服务时,两个子服务是根路由转发时只聚合单个服务的bug(主要是order排序属性导致)

3、启用DisocverClient作为网关默认转发路由场景下聚合失败的问题

4、针对Swagger2规范聚合失败的问题

5、在手动聚合模式(manual)下同时支持swagger2和openapi3规范的聚合

knife4j: gateway: enabled: true strategy: manual routes: # swagger2 - name: 订单openapi2 service-name: user-service url: /order-service-openapi2/v2/api-docs?group=default context-path: / # openapi3 - name: 订单openapi3 service-name: order-service url: /order/v3/api-docs/default context-path: /order

6、在子服务全部是swagger2规范情况下contextPath路径错误的问题

7、优化knife4j-gateway的部分代码结构及聚合场景,目前聚合子服务路由在服务发现(discover)模式下主要4种模式,主要包括:

    基于Spring Cloud Gateway配置的routes规则解析子服务路由,数据来源:spring.cloud.gateway.routes
  • 在discover服务发现场景下,针对自定义添加的routes,默认再次追加,数据来源:knife4j.gateway.routes
  • 服务发现discover模式下,开发者在网关成的路由转发模式默认通过DiscoveryClient的默认方式转发路由,规则是pattern:/service-id/**
  • 接收编码方式动态注入Spring Cloud Gateway网关的路由,进行聚合转发

其他部分

1、修复@ApiSupport注解不生效的问题Gitee#PR89

2、数据存在枚举值时,SwaggerModel无法正常展开Gitee#PR90

3、解决组件冲突的问题GitHub#630

4、增加title属性的支持Gitee#I7KUYP

感谢

非常感谢以下开发者的PR贡献(排名不分先后):

    lhzsdnu
  • igeekfan
比 Protocol Buffers 快无限倍,开源十年后 Cap'n Proto 1.0 终发布 华为正式发布 HarmonyOS 4 华中科技大学博士后复现 LK-99 磁悬浮现象 miniblink 108 版本成功编译,全球最小 Chromium 内核 龙芯中科研制成功新一代处理器龙芯 3A6000 ChromeOS 将浏览器和操作系统拆分独立 Vim 之父 Bram Moolenaar 因病逝世 哔哩哔哩(B 站)站又崩了 Nim v2.0 正式发布,命令式编程语言 AWS 明年开始对 IPv4 公网地址收取费用

编程笔记 » gateway网关集群,Knife4j v4.3.0 发布,深挖 Gateway 网关聚合场景,解决各种疑难杂症

赞同 (33) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽