2015-02-08 3 views
1

Клиент разговаривает с Django, а django использует node.js для выполнения некоторой работы, связанной с javascript, чтобы вернуть клиенту HTTP-ответ.способ связи между django <-> сервер приложений (node.js)?

Интересно, как мне настроить связь (?) Между django и node.js.

Просто, я мог бы использовать библиотеку запросов python и говорить http, но это лучшее, что я могу сделать?

Если бы я должен был создать линию связи в C++, я бы создал неблокирующий сокет с потоком передачи/передачи и использовал mutex (или подобное) между кодом представления django и потоком send/recv.

Я думаю, это то, что называется asynchronous io в мире node.js.

Есть ли аналогичная вещь в python, чтобы я мог использовать на стороне django для общения с другим сервером?

Я слышал, что многие крупные компании использовали Thrift, это было бы здесь?
Я также вижу gevent может быть релевантное ключевое слово здесь, но не уверен.

ответ

1

Я не уверен, что мой ответ по-прежнему актуальный, но я попробую. IMHO, лучшим решением для вас было бы иметь RESTful API для вашего приложения Django. Это имеет ряд преимуществ:

  • обеспечивает много развязку между вашим приложением Django и ваш Node.js один, так и в случае, если вы когда-либо хотите использовать какой-либо из них или заменить один из них, это будет легко
  • он позволяет вам разработать API для каждого из них и скрыть остальную часть вашей реализации (вашему приложению Django не должно быть так, как Node.js выполняет свою работу, но только ответ, который он предоставляет)
  • есть много отличных инфраструктур, которые могут помочь вам быстро построить ваши API (для аренды для Django есть Django REST framework)

Если вы не хотите создавать RESTful API, библиотека запросов python, вероятно, является лучшим и простым способом.

Удачи.