2015-02-08 46 views
1

一位客户与Django对话,而django使用node.js做一些与javascript相关的工作,为客户端返回一个http响应。django <->应用程序服务器(node.js)之间的通信方法?

我想知道如何设置django和node.js之间的链接(?)。

简单地说,我可以使用python的请求库和聊天http,但这是我能做到的最好吗?

如果我要在C++中建立通信链接,我将使用Send/Recv Thread创建非阻塞套接字,并在django视图代码和send/recv线程之间使用互斥锁(或类似的)。

我想这就是node.js世界中所谓的asynchronous io

python中是否有类似的东西,以便我可以在Django端与其他服务器通信?

我听说很多大公司使用Thrift,它适合在这里吗?
我也看到gevent可能是相关的关键字在这里,但不确定。

回答

1

我不确定我的答案是否仍然相关,但我会试一试。恕我直言,最适合您的解决方案是为您的Django应用程序提供一个RESTful API。这有几个优点:

  • 它提供了你的Django应用程序和你的Node.js一之间的很多脱钩的,所以如果你想重用任何人或更换其中的一个,它会很容易
  • 它可以让你设计的API为他们每个人,并隐藏实现的其余部分(你的Django应用程序不应该关心的Node.js如何完成其​​工作,但只有它提供的响应)
  • 有许多优秀的框架可以帮助你快速构建你的API(在Django中有Django REST framework

如果你不想构建一个RESTful API,python的请求库可能是最好也是最简单的方法。

祝你好运。

相关问题