0

我们需要在我们的架构中放置一个服务器,用于将内容流式传输到(可能)数百万部手机。

在这里,架构师和运营人员只知道 Java,但我真的想提出一些更快、更容易维护的东西。

我目前的候选人名单是:LiftNode.jsYaws

服务器应在验证用户凭据并向用户收费后提供静态内容(视频、游戏、xml 描述)。因此也将使用 nosql db(couchdb 或 mongodb)。

无需生成动态内容或 html。

纯粹的速度很重要但不是唯一的参数,操作易用性也很重要。

从发展的角度来看,我真的很喜欢这 3 种方式。

  1. 由于 Scala 和 Java 之间的兼容性,Lift 将是我的第一选择。
  2. 第二个是 node.js,因为每个人都懂 Javascript。
  3. Erlang 有点难学和教,所以 Yaws 是我最后的选择,虽然我个人喜欢它。

所以问题是:根据你的经验,你会推荐我什么?也可能是另一个。

4

4 回答 4

2

由于您的要求,比较困难,但我更喜欢节点。但是再一次满足您的要求,也许 java 更适合。

服务器应在验证用户凭据并向用户收费后提供静态内容(视频、游戏、xml 描述)。因此也将使用 nosql db(couchdb 或 mongodb)。

node.js is/was(3.x 更好地解决了这个问题)不太擅长处理大请求 => 观看ryan dahls 关于大请求问题的路线图谈话(35:36 及以后你会看到一个不可接受的图表,两者都是在 3.x 中解决)。

只能比较node vs java,因为我对erlang没有任何经验。

  • npm vs maven => npm 更好。
  • node.js 中有一些非常好的库,并且一直在 github.com 上创建了很多库。举个例子:express、socket.io、npm、node_redis
  • node.js 中非常快速的原型设计。
  • 如果 web 编程,人们无论如何都应该学习使用 javascript。
  • IDE for java 更好,但你需要在 node.js 中输入更少的内容。你甚至可以通过使用coffeescript(也许是 zappa)来减少你的打字。例如,我也喜欢 netbeans 中的 Junit 集成与 IDE 中的 node.js 单元测试支持(不存在?)。
于 2010-12-08T13:46:54.593 回答
2

没有理由验证和内容服务需要是相同的技术。您可以对您喜欢的任何技术进行身份验证和计费,然后从支持非公共内容(Akamai、Cloudfront 或自定义身份验证/交付架构)的 CDN 中提供内容。

需求的两半可能具有非常不同的用途和不同的设计要求。

于 2010-12-08T23:38:08.670 回答
1

我会喜欢 node.js,因为它非常快速且非常易于使用。或者您可以考虑针对 libevent 编写 C 代码...但是从上面的列表中我真的推荐 node.js

于 2010-12-08T12:22:02.250 回答
0

来自 Gabriele Lana(好朋友和杰出的开发人员)的私人电子邮件。


我的订单是:

  1. node.js - 关键字在这里很实用。我刚刚完成了一个用 node.js+redis 在 14 天内完成的小项目,它的工作就像一个魅力。
  2. erlang - 这里的关键字是性能稳定性。如果 erlang 做不到,这可能是一项不可能完成的任务。学习曲线很陡,但结果很棒。
  3. lift - 最后是因为我认为您的项目不需要复杂的域逻辑(在这种情况下我会选择 scala)。
于 2010-12-09T14:21:58.750 回答