是否有可能使用Django和Node.Js?

我有一个Django后端设置为用户login和用户pipe理,以及我的整个模板,访问者用来显示HTML文件的模板。 但是,我正在尝试向我的网站添加实时function,并在Node.Js中find了一个完美的库,允许两个用户键入文本框,并在屏幕上显示文本。 是否有可能合并两个后端?

为了不同的目的运行多个后端是绝对有可能的(有时是非常有用的)。 然而,它会打开几jar蠕虫,这取决于你的系统预期会有什么样的严格性,谁是你的团队等等。

  • 州。 你会希望会话状态在不同的应用服务器之间共享。 最简单的方法是以一种与框架无关的方式存储外部会话状态。 我build议在键/值存储JSON对象,你可能会受益于JSON模式。
  • 域/路由。 您需要将logincookie提供给两个应用服务器,这意味着要么通过Apache / Nginx路由一个域,要么通过DNS路由单独的子域。 我build议单独的子域由于以下原因
  • WebSockets的。 我可能已经过时了,但据我所知,Apache和Nginx都不支持代理websockets,这意味着如果你想使用它,你将牺牲使用http服务器作为应用代理的灵活性,而直接通过子域。
  • 非指定的要求。 诸如监视,日志logging,错误通知,构build系统,testing,持续集成/部署,文档等等都需要扩展以支持新types的组件
  • 技巧。 您必须花时间或金钱来获得pipe理更复杂的应用程序体系结构所需的技能

所以,我的build议是仔细想想你是否需要这个。 可以有很多时间和思想的参与。

更新 :实际上有公司正在涌现,专门为现有网站添加实时。 我不打算命名任何名称,但是如果您在托pipe平台的附加市场(例如Heroku)上查找“实时”,则可以find它们。

更新2 :Nginx现在支持Websockets

你不能合并它们。 您可以通过像Reddis这样的队列系统将消息从Django发送到Node.Js。

如果你真的想使用两个后端,你可以使用两个后端都支持的数据库。

虽然我不会推荐它。

试试Django,Node.js,Socket.io和Reddis。