Ruby Enterprise Edition停止開發,Phusion專注于Passenger
Phusion Passenger 背后的公司宣布它們的 Ruby Enterprises Edition(REE)將會停止開發。REE 基于 MRI Ruby 1.8.7,后者也正在淡出(1.8.7將會繼續獲得常規維護,直到 2012 年 6 月,安全更新將會到 2013 年 6 月為止)。
REE 包含的補丁解決了 Ruby 1.8.7 的以下問題,使之在通常的面向服務器的使用場景表現更好:
- 對寫入時復制友好的垃圾回收站,減少 Rails 應用的內存用量。
- tcmalloc 內存分配器,降低內存用量。
- 可以調度的垃圾回收器。
- Brent Roman 的 MBARI 補丁集。
- 更多分析和調試功能。
雖然已經淡出,但 Phusion 仍然發布新版。最新版本1.8.7-2012.02把底層的 Ruby 升級到1.8.7-p358,把 RubyGem 升級到1.8.15,包含了最新的 MBARI 補丁,現在兼容 Xcode 4 或以上和 OS X Lion。
Phusion 建議開始遷移到 Ruby 1.9,他們也在尋找新的維護者,提供后續維護服務:
我們目前計劃提供次要修復和更新,但建議用戶逐漸遷移到 Ruby 1.9。Phusion Passenger 3.1 或之前版本的用戶可以使用反向代理安裝(reverse proxy setup)在同一臺服務器上運行多個 Ruby 版本。從 Phusion Passenger 3.2 開始,它會原生支持多個 Ruby 版本,無需使用反向代理安裝。我們相信 Ruby Enterprise Edition 已經完成它的使命了。我們理解許多人目前由于兼容性的問題仍然依然于 Ruby 1.8。因此我們想找一些志愿者幫助維護 Ruby Enterprise Edition。如果你感興趣,請聯系我們!
InfoQ采訪了 Phusion 的 Hongli Lai,了解為何不會發布 REE 1.9:
REE 的大多數補丁在1.9里都是不需要的,其中一些在 REE 里沒有對應。舉個例子,MBARI 補丁集是和1.8緊密相關的;一些 MBARI 補丁已經合并到 MBI 1.8 了,另一些解決的問題在1.9是并不存在。另一個例子是:caller_for_all_threads 補丁在1.9里已經廢棄,因為1.9對于類似的功能有自己的官方 API。Ruby 1.9 沒有提供任何調度 GC 的選項,但它的 GC 總體性能更優,因此沒有太大的必要提供調度選項。
InfoQ:Phusion Passenger 3.2 將會支持多個 Ruby 版本,你能詳細告訴我們 Passenger 的未來是如何規劃的嗎?
我們的規劃里有很多令人振奮的東西。不過目前無法告訴你所有東西,其中一個我們正在做的是把 Phusion Passenger 從目前的基于多線程的I/O體系換成基于時間的I/O體系。這使我們可以通過更健壯的方式處理I/O,從而帶來幾乎沒有限制的I/O并發,為更好地在將來支持流和 WebSockets 等功能鋪平道路。
最新的 REE 已經可以下載。你是否已經換到 Ruby 1.9?如果沒有,是什么讓你繼續保持現狀?
查看英文原文:Ruby Enterprise Edition End-of-Life, Phusion Focuses on Passenger