仅缓存模型,没有ActiveRecord。最佳实践?

时间:2018-06-18 20:16:16

标签: ruby-on-rails stripe-payments

大家下午好!

这是背景。我正在构建支付系统的后端。我希望我们的产品和计划的规范信息在Stripe上。因此,我不希望在我们的后端有一个重复的副本,并使用ActiveRecord从我们的RDB中删除它们。

当有人要求提供产品或计划列表时,我将其从Stripe中拉下来,然后缓存它们。当我们需要创建/更新/销毁它们时,我们对Stripe进行API调用,并且webhooks会触发更新。

之前我没有做过这样的事情,通常只有一个ActiveRecords模型到CRUD。

在做这样的事情时,是否有任何最佳实践/方法可以遵循?

谢谢!

1 个答案:

答案 0 :(得分:1)

虽然技术上可行,但我建议几乎不要在所有情况下这样做。您的产品可能是您应用中不可或缺的一部分。通过尝试以这种方式滚动自己的逻辑,您将放弃许多惯用的rails行为和能力。您还可以将您的应用与您无法控制的第三方服务紧密结合。

我会认真考虑在您的应用中为此数据使用标准AR支持的模型,并花时间抽出管理您的应用的代码< - > 3RD PARTY APP沟通。这样你的应用程序就是它管理的信息的规范来源,你可以获得所有的信息。糖,如果您需要更换后端提供商,您就可以控制。