我正在使用聊天应用程序创建一个python应用程序。聊天应用程序仅依赖于龙卷风。 但聊天需要各种数据库访问,Django ORM做得很漂亮。我正在使用龙卷风websockets进行聊天。所以我有以下选择:
那么合并这两个框架的最佳方法应该是什么,这样它们都可以很好地工作而不会有太多的变化和性能问题。
答案 0 :(得分:4)
这取决于您需要从tornado进程访问Django函数的次数。如果此类访问计数较低,则第一种方法更好。如果大,那么选择第二。
但我会尝试实施第一种方法,因为:
在我看来,最好在django端和tornado端实现一些REST API,这些进程将通过这个API相互通信。尝试以这种方式设计您的架构,您需要尽可能少地使用此API。
我建议检查(或甚至使用)名为centrifuge的项目。它建立在龙卷风之上,它提供了实现实时消息的方法。它具有REST api,因此您可以从任何其他进程控制它。在这个答案中,描述了django +离心机工作流程:https://stackoverflow.com/a/26930534/821594