Skip to content

Releases: eolinker/apinto

v0.8.1

18 Oct 11:36
Compare
Choose a tag to compare
  1. fix the problem that jwt app is a empty point.
  2. fix the problem that aksk usertype not set.

Changelog

多协议底层支持,应用、插件模板模块上线

10 Oct 02:53
Compare
Choose a tag to compare

路由规则格式修改

改动前:一个路由支持配置多组路由规则

旧版路由规则配置(此处使用Apinto Dashboard示例)如下图所示:

改动后:一个路由仅支持配置一组路由规则

新版本路由规则配置(此处使用Apinto Dashboard示例)如下图所示:

多协议底层支持

通过对Eosc底层改动,Apinto支持端口协议复用,为后续Apinto支持gRPC、WebSocket、TCP等多种通信协议奠定底层基础。

新增模块:环境变量

可使用变量的范围

  • 流程规定的Profession:

    • 路由
    • 上游服务
    • 服务发现
    • 输出器
    • ......
  • 拓展相关

    • 全局插件
    • 绑定路由的插件
    • ......
  • 配置选项

    • Formatter
    • 标签(Labels)
    • ......

变量支持的数据类型

  • String

  • Int

  • Float

  • Number

  • Bool

格式

注意事项

  • 变量以工作域进行分组,相同工作域中的变量全量发布,不同工作域的变量可分开发布

  • 可以按需引用

  • 支持一段配置多个变量

在需要使用到变量的地方填写 ${变量名@工作域} ,缺省时工作域为:default,支持一段配置多个变量

比如控制台中发布了以下变量

变量名 变量值
var1 a
var2 b
var3 c

在创建路由时,将路由规则的location字段设置为**/router/${var1}** ,实际生效的值为**/router/a**

新增模块:插件模版

该模块用于统一配置插件,生成可复用的插件模版。多个路由可以绑定同一个插件模版,以减少重复配置操作。

插件模版配置示例如下:

路由绑定插件示例如下

新增模块:应用

应用是对请求来源的抽象概念,其可以是一个客户端App,也可以是一个后端服务,还可以是Web App......

请求达到网关时,会先进行鉴权检验,鉴权通过后,将匹配唯一应用,并进行应用设置的规定行为,包括但不限于流量限制、数据修饰(额外参数、格式转换等)、访问控制等。

新增插件:应用(eolinker.com:apinto:plugin_app)

该插件用于控制应用模块的生效范围,若需要使应用模块生效,则需要在全局插件中新增该插件,并设置插件生效范围(enableglobal )。

删除模块:鉴权

鉴权模块在v0.8.0中删除,鉴权相关操作将转移到应用模块中。

删除插件:鉴权(eolinker.com:apinto:auth)

鉴权插件在v0.8.0中删除,鉴权相关操作将转移到应用模块中。

修复文件转发时内容没有传输的问题

22 Aug 02:00
Compare
Choose a tag to compare
v0.7.2

修改eosc依赖版本为0.6.2

修复插件的一系列问题

07 Aug 13:16
Compare
Choose a tag to compare

1、修复流控插件每天请求次数相关信息未返回的问题
2、修复服务器返回的gzip响应体内容解析失败的问题
3、修复输出器无法引用鉴权标签的问题

raft算法升级

31 Jul 16:03
Compare
Choose a tag to compare

1、升级raft算法,将kv存储替换成etcd内置的kv实现
注意:由于raft算法升级,旧配置不兼容,若之前使用的 apinto为0.6.x及更老的版本,需要使用apinto-import进行升级

2、修复文件日志驱动配置错误时,删除操作阻塞的问题

3、新增proxy_rewrite_v2插件

4、服务发现忽略scheme字段

修复0.6.3版本发现的一系列问题

01 Jul 15:45
Compare
Choose a tag to compare

1、修改额外参数插件value类型
2、修复cli命令操作失败无日志输出的问题
3、修复output拓展缺少CheckSkill方法,导致apinto dashboard不能联动的问题

修改默认配置文件及mod依赖

26 Jun 14:27
Compare
Choose a tag to compare
v0.6.3

修改mod文件

合并服务和上游模块

22 Jun 11:29
Compare
Choose a tag to compare
v0.6.2

Merge branch 'feature/upstream_service'

修复路由header规则读取失败的问题

21 Jun 02:29
9cd1e47
Compare
Choose a tag to compare
Merge pull request #57 from chen2eric/feature/fix_default_port

change default port

支持可视化UI界面

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

  2. 丰富openAPI接口,支持页面渲染。开发者可通过修改配置的tag 标签,生成相应格式的Json Scheme 渲染模版,tag 标签内容参考eosc/README.md at main · eolinker/eosc
    Dashboard调用流程如下:

Dashboard调用流程

  1. 删除全局插件类型(原“type”字段),插件不再区分生效阶段,生效顺序及生效阶段由开发者进行定义。
    插件执行顺序如下图:
    7a4b7077-1a0f-4696-a51e-61f13e38b87e
  2. 移除Cli操作拓展插件功能(包括安装、更新、卸载等),拓展安装、更新、卸载等功能将在下版本通过openAPI方式提供,与插件市场同步上线。