2015-02-08 32 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的請求庫可能是最好也是最簡單的方法。

祝你好運。

相關問題