9

所以我是node.js、javascript 框架和meteor.com 的新手。我正在尝试学习如何建立社交网络,但我很天真/努力理解为什么 Meteor.js (meteor.com) 不能做你现在看到的所有伟大的事情,比如 twitter、facebook、instagram是做?

在客户端/服务器、身份验证配置、用于扩展和性能的异步编码之间存在彗星技术,并且构建在 node.js 之上。

我正在尝试了解有关长轮询、彗星、gridFS 或文件存储方式的更多信息,以及复制集和分片等一般信息以帮助提高性能(尤其是因为 Redhat 有这个 openshift 平台,我们可以构建自己的私有云和)。

我有一些计算机科学背景,但这似乎很神奇,所以我错过了什么?如果你们都能想到一些流行语,让 Meteor.js 不支持的社交网络打勾,会是什么?

我听说过有关并行和并发的事情(webworkers 修复了部分问题,不是吗?),websockets,像 python 或 java 这样的高级语言最好支持。只有一个人可以学习我的答案,那就是这样做,但我认为有人可以通过这个线程以一种或另一种方式左右我。谢谢!

4

1 回答 1

5

这个问题包含了一个非常广泛的想法,只关注单独使用流星就可以解决这个问题。这里有几点需要考虑:

  1. 我认为这个框架不是学习长轮询、gridFS 等的一个很好的起点。Meteor 的目标是成为一个更像是包生态系统的框架,例如你当然可以推出自己的上述策略 - - 然而,对于动态更新,Meteor 使用自己的数据交付协议 (DDP),由(令人惊讶的)一堆核心软件包(如 Spark)支持/实现。

  2. 使用其他语言可以更好地完成并行处理和并发,但为什么不使用? 由于 Meteor 主要基于node.js,并且node.js非常适合上述内容,而且它可以很好地与其他语言配合使用,因此您可以顺利集成。Meteor 并不真正要求您完全依赖它,因为其他语言会说同样的话。这一切都在您项目的一般工程/规划中。已经有很多非常好的东西依赖于 Meteor,加入吧!不要害怕。这一切都归结为计划(当然还有完成它的勇气/毅力)。

  3. 目前,我们无法判断 Meteor 是否无法提供大型网站通常的出色功能。当然,我们可以进行实时更新、(它自己的)发布/订阅模式,以及促进开发的强大功能(查看流星的七个核心概念以最好地理解这一点)。复制已经存在的东西并非不可能,真的我们目前只能带着不确定性说,主要是因为..(见下一点)

  4. 框架太年轻了!在撰写本文时,它仍为 0.6.x。请花点时间查看Meteor 路线图,了解在对持久性/数据库的更广泛支持、性能考虑和官方 DDP 规范方面的进展情况。

我希望我已经回答了您的询问(我希望还有更多)。我自己对流星感到非常兴奋,因为它很容易成为下一件大事。我们也有几个使用 Meteor 的(用于)生产项目,因此您可以从一个在 Meteor 中进行过大量黑客攻击(以及大量研究和第一手经验)的人那里获得直接的见解。并不是说我是专家,与 Meteor 一起工作真是太有趣了,我完全不是在开玩笑。

希望这可以帮助!

PS:虽然是公平的警告,但此时资源和文档确实很少。我尝试尽可能多地为社区做出贡献(我的出发点之一是在这里,在 SO 上)。

于 2013-05-10T14:36:56.790 回答