goliath beetle,goliath bird eating spider
歌利亚
歌利亚
labsGoliath是支持后等级的非阻塞(异步)Ruby web服务器框架的开源版本。它是一个轻量级框架,旨在满足以下目标:裸机性能、机架API和中间件支持、简单配置、完全异步处理以及可读和可维护的代码(阅读:无回调)。
该框架由事件机器反应器、高性能超文本传送协议解析器和Ruby 1.9运行时提供支持歌利亚。相对于其他异步框架的一个主要优势是,通过利用Ruby 1.9中引入的红宝石纤程,它可以将复杂的基于回调的代码分解成一种我们都熟悉和熟悉的格式:线性执行,这导致代码更易于维护和阅读。
每个歌利亚请求都在自己的红宝石纤程中执行,所有异步输入输出操作都可以
透明地挂起并在稍后恢复处理,而不需要开发人员编写
任何附加代码。请求处理和响应处理都可以完全异步地完成
时尚:流上传、消防软管API,请求/响应等等。
安装先决条件安装Ruby 1.9(通过延髓头端腹内侧核群或本机):
宝石安装rvmrvm安装1 . 9 . 2虚拟机使用1 .9 .2安装歌利亚:
宝石安装巨人入门
需要"巨人"
#默认为数据输出,允许格式作为辅助
使用Goliath:Rack:Render,[json , yaml]
# ruby hello.rb -sv
#[97570:INFO]2011-02-15 00:33:51:以开发模式在0.0.0.0:9000上启动服务器。小心石头。
查看原始数据
hello.rb
开源代码库带给你的这个要诀。性能:MRI、JRuby、RubiniusGoliath不局限于单一的红宝石运行时——它现在可以在MRI Ruby、JRuby和鲁宾纽斯上运行。根据您使用的平台,您会看到不同的性能特征。目前,我们推荐核磁共振红宝石1.9.2作为性能最好的虚拟机:在核磁共振成像上往返完整的歌利亚栈需要大约0.33毫秒(大约3000请求/秒).
JRuby的性能(启用1.9模式)目前比核磁共振红宝石1.9.2差得多,因为所有JRuby纤程都映射到本地爪哇线程。然而,有一项非常有前景的现有工作有望使JRuby纤维比核磁共振红宝石纤维更快。一旦这个功能被嵌入到JRuby (JRUBY-5461)中,JRuby很可能会摘得性能桂冠。目前,在没有MLVM支持的情况下,通过整个歌利亚栈的请求需要大约6毫秒(166请求/秒)。
鲁宾纽斯歌利亚的性能很难确定鲁宾纽斯虚拟机中有很大的优化空间。目前,请求可能只需要0.2毫秒,之后会达到50毫秒。敬请期待!
歌利亚已经在后等级上运行了一年多,为内部和外部应用程序提供持续的500个请求/秒的服务。许多歌利亚进程已经一次运行了几个月(读:没有内存泄漏),并且在没有重启的情况下提供了数百千兆字节的数据。为了纵向扩展并提供故障转移和冗余,我们在后等级的单个歌利亚服务器通常部署在反向代理(如HAProxy)之后。
讨论和支持应用程序接口示例文件邮件列表问题贡献您可以通过运行以下命令用饭桶克隆项目:
$ git克隆git://github。com/post rank-labs/golia
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。