NoSQL架构白皮书

时间:2012-02-15 23:19:48

标签: node.js mongodb hadoop rabbitmq

我想更好地了解RabbitMQ,MongoDb,Node.Js和Hadoop等技术如何融合到系统架构中,以提供高可用性/可扩展性/性能。

任何人都可以指导我找到这类信息的良好来源吗?

修改

不可否认,这不是一个很好的问题,我应该澄清一下。我不是在寻找上述堆栈中的任何技术细节,我了解它们各自做了什么以及如何使用它们的一些知识。我正在寻找的是一个利用消息队列/ NoSQL / Map reduce / event driven lang的系统规范,这样我就能更好地理解它们如何协同工作以提供高可用性/可伸缩性/性能。

2 个答案:

答案 0 :(得分:4)

如果我是你,我会专注于整体系统设计,然后再关注特定技术。 RabbitMQ将消息从一个地方传送到另一个地方,MongoDB存储文档,Node.JS处理HTTP请求,以及Hadoop存储&处理数据。每个系统都有各种竞争对手。

我会查看real life architectures from the highscalability.com blog。我还会查看the CAP paper,其中列出了“可用”的含义。

答案 1 :(得分:2)

好像你要求在“我为什么要使用它而不是LAMP / Ruby / Python / $ YourOldStackHere”的上下文中对NodeJS进行一般性介绍

我唯一可以建议的是:观看一堆nodeJS videos,阅读http://nodebeginner.org,并开发一个简单的应用程序来感受这一切。

就他们如何“融入系统架构以提供高可用性/可扩展性/性能”而言,它们非常符合您的期望; Node提供了一种快速的事件驱动语言,memcache / redis / mongo提供了一个(非)持久性键/值存储,它删除了许多SQL驱动的解决方案实际上不需要的SQL的关系方面,并将其交换速度。 / p>

“高可用性/可扩展性/性能”都归结为技术对硬件的速度有多快。快速的东西更具可扩展性,可用性和高性能。 NodeJS是基于V8构建的,这是最快的JS引擎,但如果你比较PHP,这并不意味着什么。

快速谷歌肯定会提供一些“节点与$ YourStack”的分析