将用户管理和Stripe支付分离到第二个应用程序中,并通过API进行链接.我的Neo4j知识库



我在Neo4j中构建了一个数据库,并使用Rails与Neo4jrb作为操作数据库的简单方法。由于我在下面解释的原因,下面我称它为知识库(kb)而不是数据库。

我开始和一个朋友一起工作,他想为他的应用程序的用户提供访问kb的权限。所以我在rails中构建了一个API,这样他就可以访问它。

现在我和我的朋友正在讨论建立一个会员制网站。所以我想我需要弄清楚如何在我的应用中构建Stripe订阅支付。我发现RailsApps的这个很棒的教程在功能上完全符合我的需求,它依赖于一个名为Payola的宝石,这使得Stripe集成变得容易。Payola很棒,但它与ActiveRecord一起工作,而不是Neo4j。我在想我必须弄清楚如何用Neo4j做Payola。

但是现在我有了使用RailsApp+Payola方法构建一个单独的应用程序的想法,然后将该应用程序连接到我的kb的API。

我之所以说知识库是因为它的目的是在特定领域内构建知识。我使用图数据库Neo4j,因为基于图的数据模型适合这个目标,例如(A类型的对象)-[对]有一定影响-> (B类型的对象)。

所以我喜欢使用一个单独的应用程序来管理用户和订阅的想法,因为这样我就避免了将应用程序特定的数据与数据库中的领域知识混合在一起。

所以我想我关心的是,我可能错过了什么?如果这个会员网站在每次页面加载时都必须访问API,那么速度会成为一个问题吗?会有不寻常的安全担忧吗?

在neo4j旁边使用另一个数据库是非常好的。我认为你应该总是使用适合你需要的数据库:)