我一直在将SilkJS用于我的一些业余爱好项目。到目前为止,性能是惊人的,我非常希望能够在前端和后端使用JavaScript。我正考虑在一些商业项目中使用它,但我想对这样一个决定的可行性尽职尽责。我有一些问题,希望能有所了解。
1)您是否知道使用SilkJS进行哪些企业项目?
2)有关使用SilkJS作为Web服务器或其他基于V8的解决方案的安全性的可用资源是什么? (漏洞历史,平均修补时间等)。
3)你们使用SilkJS或其他基于V8的解决方案作为网络服务器时遇到了什么陷阱,如果可能的话,你如何处理它?</ p>
4)SilkJS能否很好地处理水平扩展(在多个服务器之间分配负载)?您的答案是基于理论计算和现场测试的例子吗?
5)除了官方网站本身之外,您对使用SilkJS作为网络服务器构建网站了解哪些资源?
在回复之前,让我首先消除80%的响应,我会得到以下约束:
1)不,我不会使用NodeJS。出于商业和心理健康的原因,我不会使用异步回调疯狂编程。不要试图说服我,我会“习惯并喜欢它”。这对我正在进行的项目类型来说并不是最佳选择。是的,你听说过我 - 异步并不适合所有事情。
2)我知道可以在NodeJS中模拟同步编程。不,我对此也不感兴趣。我没有使用NodeJS - 克服它。
3)我完全清楚大多数应用程序都是i / o绑定而不是cpu绑定。结果,是的,使用PHP通常很好。但是,某些项目的cpu优化应该会产生相当大的投资回报。不,公司不一定要成为Facebook才是真的。这不是为了讨论“为什么PHP没问题”。这是对SilkJS更多商业项目可靠性的探索。
3)是的,我知道Java是什么。不,我不感兴趣的是,如果我想减少CPU的瓶颈,为什么会这么好。再一次,这不是为了讨论“为什么其他语言没问题”。它是对基于SilkJS和V8的服务器端解决方案在更多企业项目中的可靠性的探索。
4)是的,可以对这个问题有最好的答案。无论谁支持或反对使用SilkJS在企业环境中使用,都能获得正确的答案投票。
另外,我知道尽管我想避开NodeJS,但它确实使用了V8。在这方面,我愿意通过NodeJS在服务器端的V8上对V8进行安全评估和稳定性评估。
至于我所说的“企业”,想想每月有几十万次点击的电子商务网站和/或稳定性和正常运行时间必不可少且拥有成千上万用户的应用程序。
我的目标不是打击SilkJS。我非常喜欢它,并会在可能的情况下继续使用它。但是,作为一名专业程序员,我不能只使用我喜欢的每个项目。所以,让洞察力开始......
答案 0 :(得分:1)
SilkJS应该像Apache + PHP一样扩展。在SilkJS服务器的服务器场前面负载平衡器。像你已经知道的那样扩展MySQL后端。
SilkJS不执行GZIP或SSL。我认为相信所有各种机器人(黑客或其他),蜘蛛,浏览器,自定义perl程序等,实现其中任何一个或两者的实现都是一种风险。你可以简单地将Apache作为一个反向实现SilkJS前面的代理提供这些功能。
实际上,您可以对服务器端应用程序进行分片,并使用apache作为反向代理,根据请求的URL连接到正确的分片。
我认为如果您向SilkJS google群组发布任何安全问题或其他问题,您会看到及时发布到github存储库的补丁。
除了SilkJS.net网站,您可以在github上查找使用SilkJS的示例程序的各种repos。
http://www.sencha.com/blog/discover-music-with-sencha-touch-2
该文章讨论了Modus Create如何使用Sencha Touch作为前端并使用SilkJS作为后端为NPR构建应用程序。它说:
“SilkJS服务器托管在亚马逊的EC2云上,在速度和冗余的负载平衡器后面。两个SilkJS主机都由NPR API通过cURL提供,并负责从数据包中修剪超过300KB,带来在被压缩传输之前平均负载小于200KB!“