将应用程序与外部服务集成

时间:2013-01-25 22:13:47

标签: python mongodb rest tornado pymongo

所以基本上我想要你对我正在进行的项目架构的看法:

所有内容都是使用Flask框架用Python编写的。应用程序提供移动应用程序正在使用的Restful API。现在主要问题是:

由于对MySql服务器进行了许多非常复杂的查询,我们希望存储来自用户的数据以进行进一步分析(例如,他访问了哪些网址,搜索了哪些网页等),我想出了一个解决方案将有另一个Web应用程序提供API(在龙卷风和MongoDB之上运行,使用称为Motor的异步Pymongo驱动程序),我们将在主应用程序中调用它。

似乎确实令人困惑,但主要想法可能表现为:

USER -> ACTION, API CALL ->                    <-> RECEIVE DATA FROM MYSQL
                                 FLASK/Server 
RESPONSE  <- DO_STH_WITH_DATA<-                 -> EXTERNAL API CALL -> TORNADO -> MONGODB 

我知道它看起来很糟糕,但我也不擅长画画:p。

为什么要另外申请?首先,我们希望单独访问从用户收集的数据,这就是我们需要另一个Restful API提供某些资源的原因。我关心的是这种解决方案的性能和一些建议(也许将所有内容集成到一个Web应用程序中会更好,这不是我们想要的那样吗?)。请记住,来自我们主应用程序的帖子调用最终会以某种方式通过电机对mongodb的异步调用来处理,这应该会对性能产生积极影响。

编辑:

我要提到外部api调用将使用芹菜(这正是我们现在计划的)。

0 个答案:

没有答案