談笑有鴻儒,往來無白丁

          在恰當(dāng)?shù)臅r(shí)間、地點(diǎn)以恰當(dāng)?shù)姆绞奖磉_(dá)給恰當(dāng)?shù)娜?..  閱讀的時(shí)候請(qǐng)注意分類,佛曰我日里面是談笑文章,其他是各個(gè)分類的文章,積極的熱情投入到寫博的隊(duì)伍中來,支持blogjava做大做強(qiáng)!向dudu站長致敬>> > 我的微博敬請(qǐng)收聽
          CNET科技資訊網(wǎng) 4月29日 北京消息:被業(yè)界稱為“中國Java第一人”的金蝶中間件首席科學(xué)家袁紅崗認(rèn)為,Java EE 5.0 來得并不晚,可能是J2EE誕生以來比較重量級(jí)的一次震撼。
             在中國Java技術(shù)界,袁紅崗是一個(gè)不能忽視的名字。他的觀點(diǎn),及對(duì)中間件趨勢(shì)的看法,是很多人感興趣的。日前,在金蝶Apusic于廣州花園酒店舉辦的“Java俱樂部”上,記者和這位極少露面的金蝶中間件首席科學(xué)家就集群、Java EE5.0等熱門話題展開了直率的深入對(duì)話。果然,袁紅崗出語驚人,帶來了很多獨(dú)特的視角和精彩的觀點(diǎn)。
             記者:不管是一般的技術(shù)觀點(diǎn),還是在平時(shí)打單過程中,我們似乎可以感覺到,集群功能一直是國外中間件廠商攻擊國內(nèi)中間件的弱點(diǎn)。而據(jù)我們所知,你們金蝶中間件在去年下半年推出了自己的集群功能,并且在宣傳中提及,在國家質(zhì)檢總局全行業(yè)這個(gè)大單中和幾個(gè)主要國外產(chǎn)品同等測(cè)試,測(cè)試結(jié)果甚至排在前面,這是否表示Apusic的集群功能已經(jīng)能滿足客戶的需求?你對(duì)集群功能又怎么看,你認(rèn)為中J2EE集群的本質(zhì)是什么?
             袁紅崗:首先我可以向你證實(shí),在國家質(zhì)檢總局的核心電子業(yè)務(wù)系統(tǒng)“大通關(guān)”項(xiàng)目中,金蝶Apusic中間件與三家世界主要中間件廠商的產(chǎn)品,在同一平臺(tái)和環(huán)境下用國際測(cè)試工具進(jìn)行了全方位的性能測(cè)試,經(jīng)過三輪嚴(yán)苛的點(diǎn)對(duì)點(diǎn)、兼容性和性能測(cè)試,結(jié)果我們成功奪標(biāo)。在測(cè)試結(jié)果中,Apusic在集群性能上并不遜色國外同類產(chǎn)品。
             集群是中間件廠商經(jīng)常熱捧的一個(gè)概念,說只有采取集群策略你的應(yīng)用系統(tǒng)的性能才能提高。不明就里的用戶在付出了數(shù)倍的價(jià)錢去購買集群設(shè)備和軟件以后,卻往往得不到所應(yīng)該得到的效果。
             Apusic作為一家負(fù)責(zé)任的公司,應(yīng)當(dāng)向大家來澄清所謂的“集群悖論”。所謂集群,只有在細(xì)粒度計(jì)算中其效果才會(huì)明顯,也就是將計(jì)算過程以一定的并行算法進(jìn)行細(xì)分,將計(jì)算分布到多個(gè)處理機(jī)運(yùn)行,最后再將計(jì)算結(jié)果合并。有一個(gè)很有名計(jì)劃叫做SETI@home,是一項(xiàng)利用全球聯(lián)網(wǎng)的閑置計(jì)算機(jī)共同搜索地外文明的科學(xué)實(shí)驗(yàn)計(jì)劃,只需要下載一個(gè)小程序就可以對(duì)從射點(diǎn)望遠(yuǎn)鏡得到數(shù)據(jù)進(jìn)行分析。這就是一個(gè)典型的細(xì)粒度計(jì)算,所有的參與計(jì)劃的計(jì)算機(jī)并行地計(jì)算浩如煙海的龐大數(shù)據(jù)庫中的一小段數(shù)據(jù),再將計(jì)算的結(jié)果匯總,從而發(fā)現(xiàn)可能的智能信號(hào)。
             而反過來我們看到在J2EE應(yīng)用中大多數(shù)計(jì)算都是粗粒度的,再加上事務(wù)處理需要在分布式計(jì)算中進(jìn)行協(xié)調(diào),更降低了集群的整體處理能力。因此集群并不是解決性能問題的最佳途徑,在單機(jī)低并發(fā)的情況下如果你認(rèn)為性能不理想,那么請(qǐng)不要指望集群能給你帶來性能的提升,相反你會(huì)發(fā)現(xiàn)性能反而還會(huì)有所下降。
             那么,集群僅是廠商宣傳的噱頭嗎?在以下兩種情況下集群是有用的:
             1. 高并發(fā)超負(fù)荷運(yùn)行的主機(jī),例如google這樣的網(wǎng)站,它的訪問量是相當(dāng)大的,因此google會(huì)采取集群策略來分散客戶的請(qǐng)求,以提高整體響應(yīng)能力。我們接觸的很多J2EE應(yīng)用負(fù)荷量都不大,其實(shí)每秒訪問量在500以下的應(yīng)用都沒有必要采取集群策略。
             2. 失效轉(zhuǎn)移,其實(shí)我認(rèn)為這才是集群真正有用的地方,使用一臺(tái)低成本計(jì)算設(shè)備作為主設(shè)備的備份,在主設(shè)備發(fā)生故障時(shí)及時(shí)接替,以保證7x24小時(shí)不間斷服務(wù)。綜上所述,在準(zhǔn)備采用集群之前,一定要仔細(xì)分析具體的應(yīng)用環(huán)境,以避免不必要的浪費(fèi)。
             作為一種選擇,Apusic同樣實(shí)現(xiàn)了集群技術(shù),但我們并沒有沿用大多數(shù)應(yīng)用服務(wù)器廠商所采取的內(nèi)存復(fù)制技術(shù)(in-memory replication),我們知道在集群中需要在各結(jié)點(diǎn)之間同步一些狀態(tài)信息,如果采用內(nèi)存復(fù)制技術(shù),將耗費(fèi)大量的網(wǎng)絡(luò)帶寬,對(duì)性能也有很大影響。這是因?yàn)槊慨?dāng)一個(gè)結(jié)點(diǎn)的狀態(tài)發(fā)生變化時(shí),都需要通過多播等方式向其他結(jié)點(diǎn)傳遞狀態(tài)信息,隨著集群內(nèi)部結(jié)點(diǎn)的增多,內(nèi)存復(fù)制將會(huì)非常頻繁,從而造成廣播風(fēng)暴,嚴(yán)重阻塞帶寬。Apusic所采取的技術(shù)是客戶端緩存,即直接將狀態(tài)信息保存在客戶端,當(dāng)服務(wù)器失效時(shí)將狀態(tài)轉(zhuǎn)移到可用服務(wù)器。
             記者:其實(shí)直到現(xiàn)在,還有人對(duì)中國人能做出中間件不相信、對(duì)產(chǎn)品不信任。你在去年曾說“大家在同一個(gè)標(biāo)準(zhǔn)下開發(fā),Apusic和IBM、BEA的產(chǎn)品沒什么本質(zhì)區(qū)別”、對(duì)于這句話,你今天能否再解釋一下?
             袁紅崗:這個(gè)問題其實(shí)不需要證明,沒有人認(rèn)為神舟飛船和阿波羅飛船在本質(zhì)上有什么區(qū)別,都是為載人航天而制造出來的工具,并不會(huì)因?yàn)橐粋€(gè)是中國制造、另一個(gè)是美國制造,在用途上就存在什么區(qū)別。誠然,我們和國外產(chǎn)品還存在一些差距,但在J2EE標(biāo)準(zhǔn)框架之下,我們提供了完全可供用戶使用的產(chǎn)品,用戶的選擇是對(duì)我們產(chǎn)品最大的肯定。中國軟件起步較晚,基礎(chǔ)較薄弱,但在中間件領(lǐng)域我們是及時(shí)跟進(jìn)的,當(dāng)時(shí)站在同一條起跑線上,現(xiàn)在仍然沒有被淘汰出局,相反差距還在逐步縮小。我相信憑我們的技術(shù)實(shí)力,我們完全有資格和國外產(chǎn)品同臺(tái)競(jìng)技。
             記者:許多技術(shù)人員都反映Apusic的啟動(dòng)速度非常快,很快就啟動(dòng)了,和同類產(chǎn)品相比非常突出。看來使用者們對(duì)它快速啟動(dòng)的特點(diǎn)非常喜愛。據(jù)我了解,Apusic的代碼只是其它產(chǎn)品的幾分之一,是因?yàn)檫@個(gè)原因嗎?你設(shè)計(jì)時(shí)是怎么想的?
             袁紅崗:很多人不理解,為什么Apusic和其他產(chǎn)品比起來代碼規(guī)模上要小很多,但使用起來并沒有感覺到有什么功能缺失呢?這里要涉及到軟件使用上的一個(gè)“二八原則”,即80%的使用者通常只會(huì)用到一個(gè)軟件20%的功能。象微軟的產(chǎn)品個(gè)個(gè)都是巨無霸,但對(duì)某個(gè)產(chǎn)品真正做到完全精通的可以說寥寥無幾。以Word為例,平時(shí)我們只是用它來寫寫文檔,很多高級(jí)功能其實(shí)根本用不上。在Apusic應(yīng)用服務(wù)器的開發(fā)上我們也是遵循同樣的原則,我們將盡可能地將整個(gè)軟件產(chǎn)品最重要的20%的功能做好、做完善,以保證大多數(shù)用戶的需求,剩下的80%功能將根據(jù)需要逐步增加。
             譬如國外產(chǎn)品很早就有的集群功能我們最近才推出來,并不是我們沒有能力實(shí)現(xiàn)集群功能,而是在我們看來,集群并不是解決性能問題的最好方案,只有在真正大并發(fā)請(qǐng)求下集群才會(huì)展現(xiàn)它的優(yōu)勢(shì)。因此,我們把集群功能歸結(jié)為低優(yōu)先級(jí)需求,只有在其他方面的性能和穩(wěn)定性有了很大提高后再來考慮集群。
             另一個(gè)使Apusic運(yùn)行輕便的重要原因在于軟件架構(gòu)的設(shè)計(jì)。(未完)
          posted on 2006-09-13 08:45 壞男孩 閱讀(630) 評(píng)論(0)  編輯  收藏 所屬分類: JAVA好文

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 交口县| 灵石县| 三穗县| 泉州市| 老河口市| 台州市| 维西| 临沂市| 壤塘县| 财经| 秦皇岛市| 沾化县| 郁南县| 星子县| 常山县| 德惠市| 濮阳县| 石首市| 靖西县| 黎平县| 延津县| 开原市| 怀柔区| 黄大仙区| 论坛| 长顺县| 吕梁市| 静宁县| 广丰县| 张家川| 周口市| 二手房| 虎林市| 博湖县| 舞阳县| 寿光市| 曲水县| 观塘区| 抚宁县| 阳泉市| 农安县|