Skip to content
On this page

Knife4jInsight是简单、方便的OpenAPI接口规范文档聚合开放平台!

平台定位

  • 🌱 基于开源项目Knife4j而来,整合开源单体组件中无法解决的企业级需求场景
  • 🔒 聚焦Swagger2、OpenAPI3、AsyncAPI等接口规范的文档展示调试功能
  • 🏝️ 提供OpenAPI规范接口文档的存档、历史版本、预览、调试、导出、鉴权等一系列功能操作
  • 🏝️ 为开发者提供统一的OpenAPI接口文档开放、预览、调试服务,开箱即用
  • ⛺ 未来,我们是:统一OpenAPI接口开放平台统一OpenAPI接口文档管理平台

技术架构图

技术架构图如下:

技术架构平台的定位是开放平台和接口文档管理平台进行职责区分:

  • OpenAPI接口开放平台:对于开放平台的接口路由,统一通过Apache APIXIS实现服务的鉴权及下游服务的转发
  • OpenAPI接口文档平台:对于OpenAPI接口文档的预览、调试,则由平台进行统一处理,提供基于开源项目Knife4j的文档展示方案

功能架构图

功能架构图如下:

在功能上,主要是三大块的功能:

  • 开放文档的统一管理:借助于Knife4j的前端界面,接口文档完全遵循Swagger2/OpenAPI3规范,下游或者外游服务的接口文档,只需要是符合规范的,都可以统一在平台进行管理维护,并提供文档最基础的预览、调试、鉴权访问等功能
  • 开发密钥统一管理:开发者开放的API接口,很多时候,如果要对外的情况下,通常开发者们都需要实现接口的鉴权控制逻辑,而如果每个服务或不同的项目都实现一遍,那太耗费精力了,对于聚合上来的接口文档,所对应的下游服务,都可以通过该平台进行统一的管理,分配鉴权及管理开放用户
  • 下游服务统一管理:一旦涉及到开放平台,那么网关的企业级别高性能要求不可避免,这不是Knife4j的强项,作为开放平台网关层,这里考虑Apache APISIX来实现服务的分发,依靠Apache APISIX提供的Admin API接口,平台通过将下游服务的转发规则进行动态注册,这样接口文档和开放平台就从功能职责上进行了区分,互相存在依赖关系,但职责分工不同

平台的网关鉴权,通过实现Apache APIXIS的鉴权插件,植入到网关组件中,此时所有开放平台的网关入口流量,都会通过该插件与Knife4jInsight中的开发密钥进行联动,实现接口的鉴权。

平台功能

新功能可以关注该产品的roadmap

  • 命名空间(namespace): 命名空间是平台中抽象的概念,一个namespace下可以允许存在多个OpenAPI规范实例,用户可以讲该功能理解为企业、项目、部门、产品等等
  • 服务实例(ApiRegister): 服务实例是一个OpenAPI规范的最小单元,讲OpenAPI接口规范数据源通过自动注册或手动填报的方式,保存在平台中后即可进行接口文档的在线预览功能
  • 用户中心(UserCenter):平台用户可以参与OpenAPI文档的建设及授权,用户数据之间完全隔离