Laravel 4 如何在应用程序中使用meteor和laravel?

Laravel 4 如何在应用程序中使用meteor和laravel?,laravel-4,meteor,Laravel 4,Meteor,我试图构建一个实时网络应用程序 应用程序的主要功能基于meteor.js(Node.js MongoDb) 但是我想让用户管理,计费系统(stripe),基于laravel(PHP+Mysql)的静态页面 它们共享同一个用户系统,即身份验证。确切地说,它们都是整个应用程序的一部分 但我不知道如何将两者结合起来,尤其是数据库模式。关于这种体系结构的文章似乎很少。meteor和Laravel都是相对较新的。然而,我正在考虑与以下体系结构完全相同的组合。我知道我正在尝试将比萨饼和牛排结合起来(这可能证

我试图构建一个实时网络应用程序

应用程序的主要功能基于meteor.js(Node.js MongoDb)

但是我想让用户管理,计费系统(stripe),基于laravel(PHP+Mysql)的静态页面

它们共享同一个用户系统,即身份验证。确切地说,它们都是整个应用程序的一部分


但我不知道如何将两者结合起来,尤其是数据库模式。

关于这种体系结构的文章似乎很少。meteor和Laravel都是相对较新的。然而,我正在考虑与以下体系结构完全相同的组合。我知道我正在尝试将比萨饼和牛排结合起来(这可能证明是非常美味的)

什么样的应用程序会有这种架构?

首先是优势和劣势(真正的短)。Meteor速度快,在客户端和服务器之间提供了一个优秀的通信层。然而,它缺乏成熟的数据层。例如,NoSQL db(比如:mongo)缺乏对迁移的适当支持,其文档记录不如MySQL。虽然我确实认为NoSQL可能有一个光明的未来,但它“还不是我对可靠应用程序的选择”。虽然我确实看到了Meteor的MySQL层,但它们并没有Laravel的MySQL层好

这两个应用程序都有一个非常好的接口层,并且都有很好的文档记录。它们都在Unix系统上运行,并且在代码方面具有很好的扩展性。Laravel和Meteor都是基于事件的

有了这些知识,很明显聊天、拍卖和其他实时应用程序应该由Meteor处理。另一方面,复杂/关系数据的结构化应该由Laravel完成。因此,如果应用程序很小并且只有一个目标。根据需求选择Laravel或Meteor,不要尝试将它们组合在一起。然而,如果你在一个更大的项目上工作,这个项目有一个静态API和一个MySQL数据库,还有一个聊天功能(例如facebook),那么你可以选择一种更分布式的方法

分布式云架构 这里有一些关于分布式体系结构的阅读材料

在我们的用例中,Meteor将充当(我称之为)一名秘书,从NoSQL存储读取数据,并指导其他应用程序/工作人员如何处理它的高效异步工作方式。Laravel将更多地位于处理层,以允许一致的处理。Laravel读取MySQL数据库,并将通常的API输出“缓存”到Meteor使用的NoSQL存储中。Laravel应用程序可以接受队列消息,并将响应meteor应用程序发送的http调用

Soo:Meteor MongoDB Laravel MySQL客户端

许多项目从PHP laravel应用程序开始,但突然需要实时功能。例如,本机IOS/Android应用程序显示静态内容,并突然能够进行实时聊天。这就是这个体系结构非常好的地方。这两个应用程序完全不同,但使用NoSQL存储或直接API调用紧密协作

虽然它们可以在同一台服务器上,但我建议使用一个云基础设施,包括一个小型Meteor服务器和一个Laravel服务器。1台MySQL数据库服务器和1台NoSQL服务器。每个都能够根据任务类型独立扩展。在这种情况下,例如在周末,Meteor服务器可以缩小,因为连接的客户端较少,而Laravel服务器可以放大以处理密集的内容


这种设置也是相当冗余的。当复杂的Laravel应用程序失败时,客户端不会注意到。另一方面,当有大量客户时,Laravel会毫不犹豫地继续工作

你可以用苹果做馅饼,也可以用意大利香肠做馅饼。但你不会想做一个辣味香肠苹果派。您最好的选择可能是将OAuth添加到您现有的Laravel应用程序中,然后创建一个单独的Meteor应用程序,将其帐户系统连接到Laravel应用程序的OAuth流。