更新 | Apinto v0.6版本发布

前言

经过两个月的设计开发,Apinto v0.6版本于2022年6月12日正式发布

本次更新与Apinto Dashboard同步更新上线,重写了openAPI渲染模版逻辑,大家可以选择使用开源的Apinto Dashboard进行可视化网关配置操作,也可以通过最新版的openAPI,开发属于自己的一套可视化UI界面。

进程模型优化

新增admin进程,提供openAPI及渲染模版内容

进程名称及其作用如下:

  • master进程:
    • 类型:常驻进程
    • 作用
    • 守护进程,管理子进程的启停
    • 负责Raft集群的通信与同步
    • Cli命令交互
    • openAPI流量入口,监听管理端口
    • 将openAPI请求转发到leader节点的admin进程中处理
  • admin进程
    • 类型:常驻进程,仅当节点为leader时启动
    • 作用
    • 配置态进程,该进程缓存了worker进程运行所需要的所有信息
    • 处理openAPI请求,校验请求数据的合法性
    • 提供render模版,供dashboard渲染
  • worker进程
    • 类型:常驻进程
    • 作用
    • 网关核心进程,执行流量转发的工作流程
    • 支持加载外部插件
    • 当插件更新/重加载时,该进程会重启
  • help进程:
    • 类型:临时进程
    • 作用:
    • 由master启动,处理完临时任务后停止
    • 当执行安装/升级拓展时,会优先启动该进程校验拓展的可靠性及合法性

raft集群模型优化,重写事件同步操作

集群同步模型如下:

丰富openAPI接口,支持页面渲染

开发者可通过修改配置的tag 标签,生成相应格式的Json Scheme 渲染模版,tag 标签内容参考json-scheme标签说明

Dashboard调用流程如下:

删除全局插件类型(原“type”字段)

插件不再区分生效阶段,生效顺序及生效阶段由开发者进行定义。
插件执行顺序如下图:

移除Cli操作拓展插件功能(包括安装、更新、卸载等)

拓展安装、更新、卸载等功能将在下版本通过openAPI方式提供,与插件市场同步上线。

写在最后

目前Apinto 及其周边项目已经开源,我们希望通过Apinto强大的插件拓展能力,用户可像乐高积木一样根据需要自行拓展Apinto的插件,以满足不同的业务市场需求。
Apinto 目前属于萌芽阶段,我们希望集合广大开源爱好者的力量,与大家一起讨论方案,接受大家的批评指正,一起将产品打磨完善,做下一个端与端间的Traffic Middleware。
这是一个开放和积极的项目,我们诚挚地邀请您一起参与到我们的项目开源工作中。每一个贡献都是有意义的,包括但不限于:

  • 查找bugs,取得性能上的提升

  • 帮助完善文档,提供用户操作体验

  • 提交你们的issue,让我们知道您的奇思妙想

  • 参与自定义插件的开发,丰富apinto的能力

  • ...

欢迎各位开源爱好者参与到Apinto 项目中,和我们一起为开源事业贡献自己的力量。

联系我们