2012-07-30 99 views
3

我已經開始用2個月前的web開發與python/gae。我們從gae切換到AWS和Java Play !.Java玩!框架開發

  1. 如果我想在AWS上部署我的應用程序,我會遇到問題嗎?目前我可以使用Elasticbeanstalk,這是一個單擊解決方案。 Elasticbeanstalk與Play兼容! ?

  2. 我不知道斯卡拉。由於寫得很好的教程,我沒有問題使用Scala的模板/路由系統。但也許我會遇到未來的問題。如果我想使用Play,你會推薦我學習Scala嗎? ?

  3. 我可以在本地運行我的應用程序而無需部署它,這給了我一個非常好的工作流程。是否有可能爲AWS開發並在本地測試我的應用程序?

回答

2

在回答你的問題

  1. 由於AWS彈性豆稈支持在it.There不會有任何問題部署您可以玩Java Web應用程序部署!項目。

  2. 你不必是同時使用播放斯卡拉Pro中使用Play!],即可習慣斯卡拉!並最終變得精通它,然後如果你想你可以學習它。

  3. 當然你也可以開發您的AWS應用程序並對其進行測試locally.Eclipse IDE有一個偉大的插件。

    http://aws.amazon.com/eclipse/

+4

AWS彈性豆稈含有Servlet容器(Tomcat)的,你需要提供戰爭。 Play應用程序無法工作。 Play不是建立在J2EE堆棧上的。把它想象成帶有內置(netty)HTTP服務器的Java應用程序。你需要做的是運行簡單的Java應用程序並將其放在負載平衡器後面。您可以使用'play dist'命令將您的應用程序放入單個zip文件,將其上傳到AWS,解壓並使用提供的'start' shell腳本運行。 – 2012-07-30 10:28:06

2

哪個版本的遊戲中!你在詢問?

Beanstalk承載Tomcat,並期待servlet技術(servlet,過濾器,捆綁爲WAR),而Play! 2.0 Scala版本產生可運行的基於Netty的(非servlet)程序,該程序綁定到您選擇的端口。玩! 2.1將支持servlet 3.0。 See this ticket for milestone information.

所以,你可能要監控的Play的servlet支持,或青苗的基於Netty中的技術支持的進展情況。

+0

我正在使用Play! 2.0.3RC。會有這樣的工作嗎? https://github.com/dlecan/play2-war-plugin/ – 2012-07-30 10:40:35

+0

應該這樣做。作者自己評論了我發佈的鏈接:https://play.lighthouseapp.com/projects/82401/tickets/8#ticket-8-7 – opyate 2012-07-30 11:25:48

+0

從該插件的Github頁面,支持Play!上升到2.0.2,所以你要檢查2.0.3RC是否可以工作。 – opyate 2012-07-30 11:33:53

0

如果你願意升級到播放2.3.x版本或更高版本,Boxfuse具有本地播放2支持來解決這個問題。

Boxfuse爲您創建最小的圖像在VirtualBox和AWS上運行未改變的應用程序。

您可以使用Java或Scala編寫應用程序,但來自Typesafe Play 2的應用程序對後者有強烈的偏見。

要部署到AWS與Boxfuse你現在可以簡單地執行boxfuse run my-play-app-1.0.zip -env=prod這自動地:

  • 創建一個最小的AMI量身定做您的播放2應用
  • 創建一個彈性IP
  • 創建安全組正確的權限
  • 啓動您的應用程序的實例

所有未來更新均以藍色/綠色部署執行,零停機時間爲

這也適用於Elastic Load Balancers和Auto-Scaling Groups,而Boxfuse免費套餐旨在適合AWS免費套餐。

你可以閱讀更多關於它在這裏:https://boxfuse.com/blog/playframework-aws

免責聲明:我Boxfuse的創始人和CEO