0

我了解 Kong 使用的数据存储用于持久存储配置以启用水平扩展。

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

例如。如果用户过去购买了 3 位不同的作者,我只想向他显示这些作者的所有书籍的列表。这里的订单历史是业务数据,只给他看那些作者的书是业务逻辑。

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

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

如果可能的话,这样做是否可取?

4

1 回答 1

1

虽然可以通过利用底层的 Kong DAO 接口来实现,但我通常不会将您的业务逻辑与 Kong 使用的模式联系起来,因为 DAO 接口将来可能会根据新的 Kong 需求而改变,而您将没有如果发生这种情况,控制您的业务逻辑(除非您还维护 DAO 实现)。

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

于 2017-02-09T20:14:13.480 回答