從我了解到的情況,現在仍然在使用使用jboss的大概有這麽幾種情況
a. 老系統就跑在jboss上,遺留項目,沒人想動,沒人敢動。
b. 為了降低成本從weblogic或websphare遷移到jboss上
c. 依然頑固不化不思進取的技術決策者(我已經不在頑固 )
d. 被銷售人員忽悠的傻大憨粗的政府部門和國有企業
(2)jboss真的那麽不堪嗎? NO !
當然不是,從jboss 5 -->jboss6-->jboss7--->wildfly(相當於jboss 7,8),壹步壹步都在進步,尤其是在jboss7 ,完全重寫了jboss的所有,我還記得當初 jboss7 alpha1 出來後,我完全看完了jboss 7源代碼,jboss7各個模塊的加載過程和加載機制,很壯觀!
我的觀點是:Jboss包括現在的wildfly在技術上是先進的,甚至要好於weblogic和websphare,但是,在理念上已經過時或者錯誤。
包括jboss(wildfly),weblogic,websphare在內所有的javaEE服務器,將所有的功能都集成進入服務器(jsf ,jpa,ejb,jta,jms,jndi,jms,cache),但現實中在用的javaee服務器的功能有幾個內,很多的項目都是只用到了壹個servlet容器,但是還是將應用部署到了Jboss服務器裏去了,我覺得壹點沒有必要。
我唱衰的不僅是jboss也包括 weblogic, websphare 這樣的java EE全棧服務器,如果壹個簡單的應用只需需要壹個 servlet容器,但是仍然部署到jboss中的,有如下幾個問題:
a.jboss啟動需要占用更大的內存(jboss7以後按模塊加載會好些),如果買雲服務那內存可不便宜
b.jboss會在同時啟動很多的端口(有端口潔癖的人心裏很不爽)
c.配置復雜,在配置上花的時間和精力有可能比在代碼業務邏輯上花的時間還多。
d.jboss性能不及tomcat,jboss性能好過tomcat那是銷售的外交辭令,只要會調優tomcat 性能會好過jboss的。
e.jboss 提供的負載均衡器mod_cluster雖然智能但是性能不會好過nginx。jboss+mod_cluster 我認為不如果 tomcat+nginx
(3) 我對jboss社區的反感:
jboss社區人文環境其實不錯,但有壹點我不喜歡,那就是"自戀"
jboss社區什麽都想使用社區以有的項目,社區的其他項目都喜歡依賴jboss社區的其他項目,我知道他們想打造生態系統,但是沒有本著簡約的理念來做。
比如:HornetQ默認使用jboss-logging 包,輸出日誌,infinispan也是這樣,ovirt.org 項目使用jboss作為服務器,太依賴fedora,妳能用tomcat為什麽非要用jboss,是為了用而用,ovirt 項目中使用jboss 使用ejb3.1 ,導致很多不喜歡ejb的社區開發人員不貢獻,只能靠紅帽提供支持的開發人員推進項目。
jboss更名:將jboss更名為wildfly 官方的說法是問了人們更好的區分jboss社區版和企業版,現在jboss名稱默認是指jboss EAP , 開源版才叫 wildfly ,我覺得這個餿主意壹定是紅帽銷售人員出的,為了能讓jboss企業版買的更好而將jboss社區版更名為wildfly,這是愚蠢的做法,現在越來越少的人知道wildfly,我認為開發人員對這點是反感的至少我是。