gpt4 book ai didi

couchdb - 没有服务器端的CouchApp或具有xdomain问题的CouchDB后端?

转载 作者:行者123 更新时间:2023-12-04 13:17:47 25 4
gpt4 key购买 nike

我已经玩了一段时间CouchDB和CouchApp了。我正计划将其用于我正在从事的新网站项目。

  • 从可伸缩性的角度来看,我喜欢CouchApp的想法。
    缺点是没有服务器端代码,有些事情(例如oAuth身份验证)在客户端很难完成。在某个时候,我确定我需要一些描述性的服务器端代码-我想您可以看看Node.js,但现在不希望这样做。
  • 从其他服务器提供页面时,仅将CouchDB用作后端解决方案也是一个不错的选择,但缺点是跨域问题使您无法轻松使用内置的CouchDB API。

  • 那么,有人对这两个缺点之一有解决方案吗?
    您能否以某种方式从CouchApp提供服务器端代码(甚至是PHP也是一个胜利),还是可以以某种方式使用一个单独的站点来提供您的页面,但又克服了跨域问题?
    我真的在努力保持解决方案尽可能整洁(和可扩展),关于CouchDB的一大优点是 super 简单,超快的API,所以我真的不想在它周围使用包装器-除非它没有不会影响性能/可扩展性。
    欢迎您发表意见。

    最佳答案

    由于CouchDB使用基于HTTP的API,因此有多种方法可以将CouchApp与服务器端代码(node.js,PHP等)“混合和匹配”。

    我将选项分为三类:

  • 首先,您现在拥有的是2层体系结构:CouchDB提供的Browser + CouchApp。对于仅需要浏览器和CouchDB可以提供的功能的应用程序来说,这是一个很好的解决方案,但是一旦您需要发送电子邮件,调整图像大小或从另一个不需要的数据库中获取数据,就需要另一个层次具有HTTP API(MySQL,MongoDB等)。
  • 接下来是3层体系结构:浏览器+ Apache/PHP(或类似的堆栈)+ CouchDB。这是更“传统”的选项(即LAMP)。这对于逐步迁移到CouchDB很好,但是从长远来看,必须通过第二个HTTP服务器(可能作为代理)或服务器端脚本语言(如PHP)来路由所有内容,这会变得很麻烦。
  • 最后,我最喜欢的是2.5层体系结构:浏览器+ CouchDB +外部或_changes基于提要的“操作”。在这种情况下,PHP(或类似)充当CouchDB的某种服务提供者。可以通过使PHP监视_changes提要中某些类型的文档及其更改(例如,图像上传,电子邮件文档)来触发操作,或者可以将CouchDB设置为“ping” _external处理程序以对该文档进行进一步处理或其附件。通过观察更新并在更新发生时或定期对更新进行操作,从本质上讲,这就是长沙发db-lucene的工作方式。

  • 您可以在下面找到有关_changes提要和_external处理程序的更多信息:
  • _更改供稿:http://guide.couchdb.org/draft/notifications.html
  • _外部处理程序:http://wiki.apache.org/couchdb/ExternalProcesses

  • 对于它的值(value),我将在下周三在 PHP and CouchDB Webcast中讨论这三个选项。您的问题将对网络广播结尾的讨论有所帮助。

    我很想知道您的CouchApp结果如何,以及如何解决上述问题。

    关于couchdb - 没有服务器端的CouchApp或具有xdomain问题的CouchDB后端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4164183/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com