Alachisoft的內(nèi)存數(shù)據(jù)網(wǎng)格服務(wù).NET社區(qū)已有多年。現(xiàn)在他們正在開始為Java提供服務(wù)。公司總裁Iqbal Khan解釋了原因。
10年的時間里,應(yīng)用性能解決方案提供商Alachisoft一直在用NCache(針對N-Tier和網(wǎng)格計算.NET應(yīng)用的內(nèi)存計算和數(shù)據(jù)網(wǎng)格產(chǎn)品)為.NET社區(qū)服務(wù)。但盡管總部位于加州San Ramon的Alachisoft被認(rèn)為是.NET陣營的玩家,但沒多少組織知道這家公司已經(jīng)攜新的彈性內(nèi)存數(shù)據(jù)網(wǎng)格TayzGrid轉(zhuǎn)移到Java陣營。這款新產(chǎn)品100%基于JCache API,盡管事實上它是直接從公司的NCache產(chǎn)品轉(zhuǎn)換過來的。
在今年舊金山舉行的JavaOne大會上,SearchSOA有機會跟Alachisoft 總裁Iqbal Khan見面,后者談了他是如何以及為什么決定在.NET領(lǐng)域經(jīng)營多年后進入Java的。
為什么決定要轉(zhuǎn)到Java?
Iqbal Khan:我們對伸縮性、內(nèi)存計算和內(nèi)存數(shù)據(jù)網(wǎng)格理解得很好,但我們過去一直專注于.NET領(lǐng)域。不過.NET的市場份額大概只有20-30%左右,剩下的70%都是Java的。
一開始我們通過給NCache提供Java API來試水。但大家都不喜歡自己的技術(shù)棧里面有一個基于.NET的內(nèi)存數(shù)據(jù)網(wǎng)格。他們想要的是原生的Java棧,于是我們把整個NCache C#代碼都轉(zhuǎn)換成了Java。我們用了整整1年的時間把NCache變成TayzGrid。
與.NET相比,跟Java打交道是否存在額外的挑戰(zhàn)?
Khan:實際上沒有。Java是一門美麗的語言。在成為產(chǎn)品公司之前我們曾經(jīng)是一家咨詢公司,而作為一家咨詢公司,我們實際上Java和.NET都要接觸,所以我們做出這種轉(zhuǎn)變是比較容易的。
當(dāng)然,Java是一門已經(jīng)得到證明的服務(wù)器端技術(shù)。這是它比.NET更流行的原因。我的意思是說,.NET也很棒,所以我們過去10年才走了這么遠。C#也很棒。但Java一樣好或者更好,如果你看看整體的市場滲透率情況的話。
公司方面需要怎樣的專業(yè)知識才能使用你們的產(chǎn)品?
Khan:實際上,使用我們產(chǎn)品的公司已經(jīng)具備Java知識了,因為他們開發(fā)的是高流量、頻繁交易的應(yīng)用。他們已經(jīng)具備了自己喜歡的容器的知識,無論是Tomcat、JBoss、WebLogic還是WebSphere等。
我發(fā)現(xiàn)Java跟.NET有不一樣的地方,后者我們必須教育客戶什么是內(nèi)存數(shù)據(jù)網(wǎng)格多一點,而前者對數(shù)據(jù)網(wǎng)格的認(rèn)知度要高得多。JCache標(biāo)準(zhǔn)也有幫助,因為既然存在規(guī)范標(biāo)準(zhǔn),那大家只需要學(xué)習(xí)一個API就行了。一旦這么做后,接入到另一家供應(yīng)商就非常容易了。
你們是如何把微服務(wù)或容器技術(shù)融入到工作里面的?
Khan:容器和微服務(wù)是應(yīng)用層的,而我們產(chǎn)品的客戶端部分是API、JAR文件,它們都可以在這些環(huán)境里面工作。但我們的本質(zhì)是內(nèi)存數(shù)據(jù)庫……所以我們會工作在自己的JVM里面,通常不會在任何容器里面。
我們就是自己的容器,加載在獨立的虛擬機上,因為這種部署方式更加簡單,可以讓應(yīng)用層完全是無狀態(tài)的,所以沒有數(shù)據(jù)保存在應(yīng)用層,所有數(shù)據(jù)要么放在數(shù)據(jù)庫里面,要么就是在內(nèi)存數(shù)據(jù)網(wǎng)格里。
這種部署策略讓大家輕松很多,因為你可以讓任何應(yīng)用服務(wù)器下線以便升級維護,而任何的會話、數(shù)據(jù)、一切“東西”都不會丟,因為這些數(shù)據(jù)是無狀態(tài)的。
你們開源嗎?
Khan:是的,我們開源,有免費的部分。對節(jié)點數(shù)沒有限制,這不是僅僅針對非商業(yè)使用開源—它采用的是Apache 2.0協(xié)議。