以程式語言Ruby編寫的網頁應用框架Rails 8即將發布,官方先在Rails World大會公開多項新版本亮點。Rails 8的新功能包括簡化部署流程、減少外部服務依賴,以及強化SQLite在生產環境中的使用。Rails 8的更新重點在於透過Kamal 2、Solid Adapters以及內建工具的改進,降低應用部署門檻,使開發者能夠更快速地將應用程式推向生產環境。

Rails 8透過整合Kamal 2和Thruster,提供開發者更加簡單且高效的部署解決方案。傳統應用程式部署過程通常牽涉多個外部服務和複雜配置,而藉由使用Kamal 2,開發者只需要執行單一指令,就可以將全新的Linux主機快速配置成應用伺服器,官方指出,整體部署時間可縮短至兩分鐘以內。

Rails 8內建的Docker支援和經過改進的Dockerfile,讓開發者可以簡單地將應用程式打包成容器,以符合生產環境的需求。新的Dockerfile採用Thruster代理,可直接在Puma前端提供加速和資源管理,用戶不再需要在網頁伺服器前架設Nginx等代理伺服器,預設的Rails 8容器已準備立即接受來自網路的流量。

Kamal 2專屬代理服務Kamal Proxy則實現了多應用支援、零停機部署和Let’s Encrypt自動化SSL憑證配置,減少開發者在應用部署過程中的繁瑣工作。Kamal 2也調整了機密資訊管理策略,內建整合1Password、Bitwarden和LastPass。而這些新功能讓Rails 8能夠提供完整解決方案,處理應用程式在生產環境中的部署和營運。

Rails 8還加入了Solid Cable、Solid Cache和Solid Queue三個全新Solid Adapters,取代外部服務相依性。Solid Cable取代Redis作為WebSocket訊息中繼伺服器,主要負責WebSocket的資訊傳遞,透過輪詢方式將應用訊息傳遞給不同的客戶端。

而Solid Cache則是取代Redis或Memcached快取HTML片段,藉由使用磁碟而非記憶體進行儲存,提供更大且成本更低的快取空間。Solid Queue不僅取代了Redis,也取代Resque、Delayed Job或Sidekiq等開發者常用任務執行框架,支援高效能任務調度,不只是PostgreSQL、MySQL,現在也可執行於SQLite之上,降低部署的複雜性。

Rails 8的三個Solid Adapters可減少應用對外部服務的相依性,讓部署變得更簡單。藉由使用SQLite作為後端儲存,開發者便不再需要使用Redis、Memcached等服務,這讓小型應用或是剛起步的專案,可以快速部署到生產環境,而不用考慮複雜的伺服器架構。

雖然Rails 8.0仍在Beta 1的階段,但是已經在Shopify、GitHub等大型應用中經過廣泛測試,此外,新的部署工具、Solid Cache和Solid Queue也已在37signals的Basecamp和HEY等應用中執行超過18個月,足以證明其穩定性。

熱門新聞

Advertisement