15

我想问一下创建 Meteor 后端的最佳实践。

我使用 Meteor js 作为前端,我计划在另一个端口使用一堆 apache/php/yii 框架/YiiMongoDbSuite 作为后端(管理面板)。

也许有人建议我最好的方法来轻松创建流星应用程序的管理部分?

4

2 回答 2

27

如果您已经在 PHP/Rails 等中构建了后端,则可以考虑使用 DDP 客户端或 REST 在流星和后端之间中继消息。与 REST 相比, DDP有几个优点

它是一个开放的连接,您甚至可以获取实时更新。

不过,我不确定是否有任何用于 PHP 的 DDP 客户端。有几个:

您也可以使用REST进行通信,但您会错过很多功能。使用 DDP,您可以Meteor.methods非常轻松地访问和订阅。

最后,您可以直接连接到您的 mongodb 并将您的更改放入。 Meteor 将在 10 秒内处理它们。

但是为什么不使用 Meteor 本身作为后端呢?使用单独的 Meteor 实例可能会使您的管理区域更加安全。使用 Meteor 作为后端,维护起来会容易得多,您可以在两者之间共享兼容的代码。您可以使用Meteor.connect访问客户端实例。

如果你的动机是安全,你可以这样做。当 Meteor 已经让它变得如此简单时,使用单独的语言和堆栈几乎没有任何好处。

更新:Meteor 0.7.0 引入了 oplog 拖尾功能,因此您不必再等待 10 秒才能看到更新。它们就像流星本身一样是瞬间的。

于 2013-02-17T14:45:17.067 回答
0

Meteor 直接监听 MongoDB 数据库,因此那里的任何更改都会自动更新应用程序。这意味着如果你想从 PHP 写入 MongoDB,你可以,然后流星将自动检测更改并更新字体结尾。

我相信这也适用于numtel 的流星 mysql 包。如果您想开始将流星用于需要实时更新或在项目中缓慢迁移的组件,这将变得非常容易。

我们目前正在为我们的实时通知系统尝试这个。我认为我们必须学习使用 DDP,但实际上它就像让两个系统都监听同一个数据库一样简单。

于 2015-11-02T13:58:53.567 回答