Kong:在 Kong 数据存储中存储业务逻辑和 / 或业务数据是一个好主意吗?

我了解 Kong 使用的数据存储是用于持续存储配置,以实现水平扩展。

我想知道的是,是否还可以将实际的业务数据存储在 API 网关的数据源中,并根据从该数据源读取的数据路由 API。

例如:如果用户以前购买了 3 位不同作者的书籍,我想向他显示这些作者的所有书籍列表。这里订单历史记录是业务数据,仅显示这些作者的书籍是业务逻辑。

在请求通过 API 网关后,我通常可以获取用户的订单历史记录,然后显示所需的数据。

但是,是否可以在 Kong 数据源中保存用户的订单历史记录,并编写一个自定义的 Lua 插件,从网关本身获取用户的作者列表,并将作者的 ID 传递给所需的模块,然后仅显示这些作者的书籍?

如果可能,是否应该这样做?

点赞
用户298406
用户298406

虽然可以通过利用基础的 Kong DAO 接口来实现,但我通常不会将您的业务逻辑与 Kong 使用的模式绑定在一起,因为 DAO 接口可能会根据新的 Kong 要求在将来发生变化,并且如果发生这种情况,您将无法控制您的业务逻辑(除非您同时维护 DAO 实现)。

一般来说,我会将所有这些逻辑托管在一个单独的服务中,然后使用内部 HTTP 客户端从 Kong 插件查询该服务。

2017-02-09 20:14:13