写点什么

GlassFish Gem 前途未卜,谁将取而代之?

  • 2010-05-17
  • 本文字数:1814 字

    阅读完需:约 6 分钟

Oracle 在三月发布的 GlassFish 蓝图中没有任何提及 GlassFish gem 的文字,这个不寻常的现象引起了人们的关注。这套基于 gem 的服务器软件可以运行 Rails,Merb 和 Sinatra 应用程序,作为 JRuby 平台上最流行的几个服务器软件之一(BitNami 的 JRuby stack 的一部分),一直备受 JRuby 社区的青睐。它是一个轻量级的服务器软件 - 4.3MB 的 gem 包包含了 GlassFish v3 内核,Grizzly 以及其他的工具 - 但是作为工业级品质的应用程序,它最广为人知的优点便是托管处理每秒数千次请求的Sinatra 应用表现出的良好的性能。Rails 用户能够在gem 的支持下使用多线程模式,充分利用JVM 的多线程特性带来的性能提升。

在三月初,这个消息不胫而走,从 jruby-user 邮件列表中透露出的消息表示 GlassFish gem 团队已经不会将这个项目从 Sun 迁移到 Oracle,也就是说,这个项目实质上已经被废弃。Oracle 就此消息表示:

我们一直在鼓励社区继续 GlassFish gem 的开发工作,并且我们也会坚持对这些开发者的持续支持。

Engine Yard 没有明确表示 GlassFish gem 是否将会被加入到其 JRuby 商业支持列表中。 JRuby Summer of Code wiki 表示其正在开发“一个基于 GlassFish gem 的快捷高效的轻量级服务器软件,或者是直接接管 GF gem 然后将其使用在自己的项目中。”

在四月中旬,Vivek Pandey,GlassFish gem 项目负责人以及首席开发工程师,通知邮件组说他打算将一些时间花费在文档完善上,并且可能开始发布新的版本,但是 Oracle 并不支持这项工作,所以他只能将这个项目作为副业来看待。

那么他现在在为这个项目做什么呢?“修复 bug,添加特性(如果有的话)然后发布。当然还有文档完善和争取支持。代码开发现在不是重点了。”

邮件组中的讨论对项目的进展表示出了一些兴趣。GlassFish gem 的流行部分是因为其易用性。当问到为什么 BitNami 将 Tomcat 和 GlassFish 都作为 JRuby stack 的一部分时,BitNami 的 Daniel Liszka 回答道:

开发者貌似更加熟悉 Tomcat。我们希望提供给他们选择的机会。但是相比 GlassFish,将 Ruby on Rails 部署在 Tomcat 要艰难很多,我们希望能够简化这个过程,为那些需要使用 Tomcat 的用户提供支持。

和其他的 J2EE 服务器,GlassFish,JBoss 或者 WebSphere 一样,部署到 Tomcat 的过程也可以使用 Warbler ,这个工具能够将 Rails,Merb 或者 Rack 应用程序打包成 WAR 文件。Warbler 的 1.0 版本在 4 月早些时候发布,添加了对 Rails 3 的支持。“我非常高兴能够看到 Warbler 能够支持 Rails 3。我认为 Rails 3 已经被定位在 Java 开发者在构建 web 应用的时候选择的标准架构,”Engine Yard 的 Nick Sieger 如是说。

Warbler 当然不是一个开发工具,它是一个部署工具。在现在的 Java 应用中,WAR 的部署是非常普遍的。

Warbler 1.0 也同样支持使用 Bundler 将绑定的 gem 打包在一起。

在 JRuby 上也有其他的服务器软件。例如封装自 JBoss 的 Torquebox 。JBoss Fellow Bob McWhirter 说:

Torquebox 期望能够使用 JRuby,将企业级服务器 JBoss 的全部功能迁移到 Ruby 平台上。 这个软件简化了很多功能,例如将 Quartz job-scheduler 和 HornetQ message broker 友好地展示给 Ruby 开发者。它的目标是将整个应用程序,而不只是 web 部分转换成可部署和管理的单元。

Torquebox 比 GlassFish 要重量级得多:它的发布不是基于 gem 的,而且体积高达 300MB(包括完整的 JRuby 安装程序)。一个小于 10MB 的 gem“仅仅具有 web 功能,而且不会和 JMS 集成在一起”。

David Calavera 的 Trinidad 是一个基于 gem 的 Rack 应用服务器,它封装自 Apache Tomcat。需要运行的时候,你“只需要指定 Rack 应用的根目录然后运行一个简单的命令’jruby -S trinidad’即可,”Calavera 说。

它的主要优势之一是其轻量级特性。其他的服务器软件都是构建于某个大型库基础上,而 Trinitydad 则是建立在许多小型库上;核心不会大于 15KB,而且所需要的库大小也就 3MB 左右。
Trinidad 完全是使用 Ruby 编写,它并没有将所有的特性都塞入到一个包中,而且将各种特性单独地作为扩展插件发布。
Trinidad 也支持在同一容器中运行多个应用。

最后一个替代品是 Fabio Kung 的 jetty-rails ,这个软件支持在同一 Jetty 容器中运行 Rails 和 Merb 应用。虽然这个项目自从 2009 年 6 月开始就没有更新过,但是 Kung 仍然希望在未来继续对其改进。

查看英文原文: Whither the GlassFish Gem? Alternatives for Deploying JRuby Web Applications

2010-05-17 20:542106
用户头像

发布了 90 篇内容, 共 36.1 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

TuxeraNTFS2022密钥新版安装包更新介绍

茶色酒

Tuxera NTFS2022

【C语言】卍字通晓→函数+递归

謓泽

递归 C语言 函数 3月月更

千万级学生管理系统的考试试卷存储方案设计

张逃逃

如果家庭是一家公司(17/100)

hackstoic

生活随想

千万级学生管理系统的考试试卷存储方案

李大虾

#架构实战营 「架构实战营」

云原生训练营 -Week03

jjn0703

云原生训练营

一款开源监控和警报平台:Prometheus

Ethereal

假如让你来设计SSL/TLS协议

元闰子

网络安全 TLS 操作系统 ssl SSL/TLS协议

千万级学生管理系统的考试试卷存储方案

孙强

#架构实战营

命令行管理 Linux服务器困难?别怕,今天介绍一款基于 Web 的Linux管理神器:Webmin

Ethereal

智慧车行预约小程序设计方案

CC同学

作业四

Geek_f3e842

架构实战营

kube-scheduler源码分析(2)-核心处理逻辑分析

良凯尔

Kubernetes 容器 源码分析 Kubernetes, 云原生, eBPF

2022 C语言学习最强干货分享,值得收藏

C语言与CPP编程

程序员 C语言 编程‘

电商秒杀系统

swallowluo

架构实战营 #架构实战营 「架构实战营」

重学架构之千万级学生管理系统的考试试卷存储方案

陈华英

架构实战营 #架构实战营

编码的艺术-书籍推荐

Beaver

编码的艺术

【高并发】两种异步模型与深度解析Future接口

冰河

Java 并发编程 多线程 高并发 异步编程

消息队列存储

supermenG

架构师训练营 4 期

GitHub 限制俄罗斯使用代码,开源真的无国界吗?

腾源会

开源

c 语言不输出空数据(全面覆盖)

北极的大企鹅

c 问题处理

Linux 中的 BusyBox 是什么?如何使用它?

Ethereal

【架构训练营-模块四】

默光

架构训练营5期 存储架构

从头梳理,看看中国的 ICP 备案制度

白宦成

备案

文章是“自己的”好

BY林子

技术写作

低代码实现探索(三十五)模型页面vs工程化方式好

零道云-混合式低代码平台

中兴ZXR10 160智能集成多业务路由器快速安装指南,图文并茂!

Ethereal

高并发是一种架构思维模式

陈俊

高并发 技术架构 技术认知

容器化和编排有什么区别?

Ethereal

什么CRM客户管理系统好用?公司规模不大,有推荐吗

优秀

架构学习【04】——千万级学生管理系统的考试试卷存储方案

tiger

架构实战营

GlassFish Gem前途未卜,谁将取而代之?_Java_Paul Blair_InfoQ精选文章