我在质疑自己为什么要使用Node.js + CouchDB与CouchDB独立方法的组合.将Node.js加入游戏有什么好处?欢迎任何意见/经验.
Nic*_*ins 16
还有第三种选择:CouchDB在前面,后面有Node.js ......
传统上,数据库位于后端,而不是前端,因此这种配置看起来有点"倒退",但是听我说......
在此配置中,您仍然可以从CouchDB(而不是Node)提供所有页面,并使用Node作为一种"工作进程",轮询数据库中的"作业",处理它们并插入"结果"回到DB.通过这种方式,您可以使用Node的全部功能进行特殊处理,但您可以从CouchDB中获得为应用程序提供服务的所有好处.
实际上,在这种配置中,您可以拥有运行Python或Java或Ruby等任何类型的专业工作者.例如,假设您的网站上有"创建PDF"功能,并且您希望使用Python来实际创建PDF.您只需编写一个python程序,查看CouchDB中的任何"PDF_Request"文档,处理它们,然后将PDF文件插回到CouchDB中.您没有用Python编写整个应用程序,只需在Python中编写PDF Create函数,并保持应用程序的其余部分不变.
现在,假设您将CouchApp复制到另一台计算机或移动设备(运行CouchDB但不运行Node或Python)没问题,您仍然可以在CouchDB中插入"PDF_Request".当您最终与服务器同步时,您的PDF请求将由pdf创建者程序查看和处理,您将获得PDF文件.你的couchapp仍然在复制的CouchDB上运行,即使"辅助程序"不存在,因为它们与主应用程序完全分离.
我并不是说这是"要走的路",只是因为CouchDB的本质,这种配置实际上是一个可行的选择,并且如果你将Node放入,你将获得扩展和复制的好处.前面和后面的CouchDB.
Node可以做什么,CouchDB无法做到
Node.js可以使用unix套接字进行进程间通信,实时文件上传,可以启动websocket服务器甚至是SPDY服务器.
您可以创建DNS服务器,甚至可以处理一些地理定位(MaxMind db).
CouchDB可以做的好东西
然而,使用CouchDB可以做很多有趣的事情,即使它们更难实现.例如,使用_changes功能,您可以进行进程间通信,即实时聊天系统(长轮询).
我不是专家(但CouchDB是我的学习列表中的首要任务),但我想你也可以模拟登录用户的会话.
CouchDB很棒,Node.js也是如此,所以重要的是你计划开发什么应用程序,你的用例是什么.
| 归档时间: |
|
| 查看次数: |
3537 次 |
| 最近记录: |