Nanite:Ruby程序的一个自我装配集群

简介: 本文讲的是Nanite:Ruby程序的一个自我装配集群,Nanite(由Ezra Zygmuntowicz开发)是Engine Yard云计算策略的一个新兵:它是“Ruby程序的一个自我装配集群”,用以构筑高度可伸缩的Web应用的后端。

本文讲的是Nanite:Ruby程序的一个自我装配集群,【IT168 资讯】Nanite(由Ezra Zygmuntowicz开发)是Engine Yard云计算策略的一个新兵:它是“Ruby程序的一个自我装配集群”,用以构筑高度可伸缩的Web应用的后端(请查看Ezra的声明)。
  Nanite包含两部分:代理(agents)和映射(mappers)。代理实现了应用的功能并由映射进行管理,而映射是系统的控制节点。代理周期性地向映射报告其状态和(默认情况下)平均负载,因此映射可以将任务分发到负载最小的代理上。请查看Nanite的Readme文件以了解更多的信息和示例。
  Nanite构建在RabbitMQ之上,而后者是用Erlang构建的“一个完整且高度可靠的企业消息系统”。根据其博客上的一篇评论所述,它还可以与其他任何兼容于AMQP的消息中间件协同工作。
  InfoQ:Ezra,你在Engine Yard使用Nanite么?
  当然,Nanite用作我们新的服务平台engine yard的后端。它在网络拥挤时会自动扩容EC2实例,同时它还是暴露给用户的服务的核心部分,因此用户可以将Nanite代理作为其应用的一部分而无需额外的工作。
  InfoQ:除了Web以外,Nanite还能用在什么地方?
  我认为除了Web以外Nanite还有很多应用场景。无论什么时候,当你需要从Ruby中跨越多个服务器来控制多个资源时,Nanite都是一个很棒的选择。
  InfoQ:我们来谈谈Vertebra吧——下一代的云计算平台——几个月前提出的,Nanite和Vertebra的关系是什么样的?
  Nanite和Vertebra最终将会借助于rabbitmq/xmpp桥来协同工作。Nanite适合在云环境下扩展个人应用,而Vertebra则更适合于连接多个异构系统——系统中的每个代理都可以在不同的客户服务器上。
  Rabbitmq的安全模型基于vhosts,因此同一个vhost中的内容之间可以互相通信。这样我们就可以在每个应用空间中都拥有一个vhost并使用这种方式来扩展应用。对于用户等待的应用负载来说,Nanite还是一个高性能的消息。Vertebra的优势在于联合多台机器同时又保持其彼此的安全。

原文发布时间为:2009-06-17
本文作者:IT168.com
本文来自云栖社区合作伙伴IT168,了解相关信息可以关注IT168。
原文标题:Nanite:Ruby程序的一个自我装配集群

目录
相关文章
|
缓存 监控 数据库
使用Ruby构建可扩展的Web应用程序
在当今科技驱动的世界中,Web应用程序成为了企业和个人进行业务活动、提供服务和与用户互动的重要方式。而Ruby作为一种简洁、优雅且易于学习的编程语言,已经成为许多开发者的选择。本篇博客将介绍如何使用Ruby构建可扩展的Web应用程序。
105 0
|
测试技术 C++ Ruby
C++程序中嵌入Ruby脚本系统
Ruby,一种为简单快捷面向对象编程(面向对象程序设计)而创的脚本语言,由日本人松本行弘(まつもとゆきひろ,英译:Yukihiro Matsumoto,外号matz)开发,遵守GPL协议和Ruby License。
1613 0
|
程序员 Ruby
《Effective Ruby:改善Ruby程序的48条建议》一导读
学习一门新的编程语言通常需要经过两个阶段。第一阶段是学习这门编程语言的语法和结构。如果我们具有其他编程语言的经验,这个阶段通常只需要很短的时间。以Ruby为例,接触过其他面向对象语言的程序员对Ruby的语法也会比较熟悉。有经验的程序员对于语言的结构(如何根据语法构建应用程序)是很熟悉的。
1235 0