2012-04-20 93 views
8

目前我們的生產環境運行JBoss 5.1,我們一直在討論它是否值得遷移到JBoss 7.1。如果這是一個簡單的服務器升級,那麼它不會是一個問題。但是,不幸的是,我們不得不改變配置,這將需要一些努力。另外,我們的服務器運行在一個集羣中,我讀過JBoss 7.1有更多的集羣支持。是否值得從JBoss 5.1升級到JBoss 7.1

那麼值得嗎?

謝謝

回答

12

我們目前處於相同的情況。

似乎有一個積極的一面的東西很多:

  • 我們將不得不在一個點過5.1遷移。我們需要完整的配置文件,並沒有太多的OSS替代品(GlassFish和Geronimo)。由於PCI-DSS禁止我們使用EoL'd軟件,單憑這一點可能會出售遷移。
  • 配置更好,更簡單。它不再分佈在20個XML文件中,您可以在其中配置XML文件中的方面,而只需要一箇中心位置。所有端口都配置在一箇中心位置,不再有可以轉換server.xml的XSL文件。您可以在不知道類的實現細節的情況下理解配置文件。如果你從未配置過JBoss,那麼很難理解這一點。
  • EJB遠程處理不再使用每個套接字的線程。
  • 刪除不需要的子系統要容易得多。
  • class loding模型看起來很健全,並且通過jboss-deployment-structure.xml獲得很多控制
  • EJB客戶端庫看起來更清晰。從20個到少10個JAR,其中一半甚至是OSGi包(我們的客戶端是Eclipse RCP應用程序)。
  • 儘管我們對Java EE 6用@Singleton bean取代部分SLSB並不感到興奮,但我們的某些具有計時器EJB的SARs確實看起來很有趣。
  • 啓動速度更快,內存使用量更少(至少對於空服務器或小型部署)。我們還沒有測試過大型部署。
  • 的部署文件夾默認

的事情,我們還需要尋找到空:

  • 我們有點擔心的Infinispan性能。我們目前使用JBoss Cache的TreeCache API。雖然Infinispan有一個適配器提供相同的API,但一些理論測試顯示寫入性能較差。這僅適用於Infinispan的樹API。
  • 的ExternalContext不再支持,我們目前使用它來填充JNDI樹從.bindings文件
  • JMX控制檯走了,如果您有任何建立在這一點,需要適應,編輯有實際上有一個JMX控制檯可用的端口AS7-2227

我們不在羣集中運行,所以我不能對此進行評論。

對我們來說,最大的努力可能是遷移所有與JBoss以某種方式進行交互的shell腳本(安裝,集成測試......)。

更新

我們已經遷移,這是絕對值得的。以上幾點更新:

  • 即使是大型部署,調試速度也很快。
  • 集中式日誌記錄(Slf4j,JUL,JCL,Log4j,...)真的很不錯。
  • 7.1有很多錯誤對我們來說是無法使用的,所以我們使用7.2/EAP 6.1並計劃去7.3/EAP 6.2。仍然有它公平的錯誤,但我們可以解決它們。我們特別期待管理接口的基於角色的訪問控制,這將允許我們以最小的權限運行我們的腳本。
  • 不會有GlassFish 4的支持版本,它會在生產中使用一個很大的問號。
  • EJB遠程安全性不夠靈活。由於之前我們混合了經過身份驗證和未經身份驗證的EJB調用,因此我們不得不採取一些解決方法 - 這是不可能的。
  • 來自JBoss的JEE 6 BOM POM是一個混合包。理論上它很好,因爲它管理着你所有JEE依賴的版本。在實踐中,座標非常糟糕,artifactId中的版本在我們遷移到JEE 7時會變得很煩人。當您想要包含用於測試的JEE API的實現時,它也不是非常有用。
  • Infinispan樹API性能不是問題。
  • 我們用DMR腳本替換了JMX控制檯腳本。

更新2

  • 沒有使用EJB遠程通過SSL當是deadlock。即使在EAP 6.2中也存在這種僵​​局。我們現在處於這樣一個階段,我們有一組補丁從WildFly返回到AS 7.
1

是否所有的工作都在JBoss 5.1.0上?你的表現是你可以忍受的嗎?

我目前正處於從JBoss 5.1.0GA升級到JBoss 7.1.1的過程中,它並不容易。你基本上升級到一個新的應用程序服務器。您需要爲我猜測的這項工作預算許多美元。儘管如此,JBoss 7.1.1與5.1.0相比非常快(至少啓動時間)。我認爲在未來6個月(或多或少),大多數「硬」遷移和轉換問題將在jboss論壇或通過錯誤修復得到充實。此時,如果您想進行遷移,您和您的團隊可以重新評估。

祝你好運!

1

如果您使用的是SSL,升級的一個好處是JBoss 7.1.1運行在jdk 1.7上,它支持TLS 1.1 & 1.2,而jdk 1.6只支持TLS 1.0。 JBoss 5不能在java 1.7上運行,所以你很容易受到BEAST攻擊。

1

無論如何,我會等一下。

AS 5是EE5服務器,AS 7.1是EE6服務器(並且EE6規範在2009年推出)。所以對於一個優秀的新運行時環境來說,這是很多工作,但它不會給你任何熱門的架構可能性。

WildFly 8.0.0.CR1已經到期了,這就是EE7服務器帶給你一些新的有趣的開發機會,比如WebSockets和JAX-RS 2.0(http://www.slideshare.net/dandreadis/2013-11devoxxwild-flybof)。新的管理功能,如單實例修補。而且不確定AS7到WildFly8將會是一個超級簡單的遷移,因爲引入了som主要的新東西,比如Undertow而不是JBossWeb/Tomcat。如果你得走了,你得走了 - 如果U放棄了死亡的7.x路徑,不要忘記獲得大大改進的7.2.0.Final標籤(幾百個問題比7.1更好0.1)。但是,如果您認爲現在可以使用Beta/CR版本開始開發/遷移,並等待幾個月以獲得良好的生產穩定的WildFly 8.x.x版本,那麼在下一次重大更新之前,您可能需要更長的時間。

br, Jens