目前的高性能TP Monitor如 TUXEDO CICS全部是基于 C/多進(jìn)程開發(fā)而成
國內(nèi)市場被BEA/IBM高度壟斷,可能也就 東方通TongEASY的能虎口奪食。
從TP Monitor的在金融業(yè)的應(yīng)用經(jīng)驗(yàn)來看,TP Monitor主要作用是:
1 提供一個(gè)高性能、高穩(wěn)定的通訊框架:(如銀行總分互聯(lián)、應(yīng)用之間互聯(lián))
2 支持大并發(fā)的交易處理平臺(在線交易實(shí)時(shí)處理,但一般不作為事務(wù)管理器,因?yàn)槿质聞?wù)代價(jià)過高,主要用數(shù)據(jù)庫自身事務(wù)機(jī)制)。
3 支持軟件負(fù)載均衡,支持水平擴(kuò)展(如:TUXEDO MP)。
開源App Server如Jboss/Jonas 全部采用純Java實(shí)現(xiàn),性能是個(gè)問題,跟TUXEDO/CICS相比。
假設(shè)我們要自行實(shí)現(xiàn)一個(gè)可用的TP Monitor,必須要解決上述幾點(diǎn)。
從Java的性能來看,它的內(nèi)部代碼執(zhí)行效率不低,主要弱在:
1 socket通訊效率低
2 ipc機(jī)制不支持
3 數(shù)據(jù)庫訪問效率低(實(shí)際的交易實(shí)現(xiàn)效率低,不管用EJB還是POJO)
目前有考慮
1 高性能的通訊框架,必須采用C代碼實(shí)現(xiàn)。Java做不到Zero Copy,并且JNI在Java和本地C代碼之間復(fù)制內(nèi)存代價(jià)也很高。
2 大并發(fā)的處理平臺,這個(gè)是Java的優(yōu)勢所在,Java對于同步、并發(fā)的實(shí)現(xiàn),寫起來簡單
3 IPC支持(SystemV消息隊(duì)列、共享內(nèi)存、信號燈),標(biāo)準(zhǔn) Java 庫缺乏,但是可以通過JNI實(shí)現(xiàn),實(shí)現(xiàn)策略可以參考SWT的實(shí)現(xiàn)策略。
4 用戶SERVICE實(shí)現(xiàn)(數(shù)據(jù)庫訪問),采用C實(shí)現(xiàn),充分利用高效的數(shù)據(jù)庫本地接口。
國內(nèi)市場被BEA/IBM高度壟斷,可能也就 東方通TongEASY的能虎口奪食。
從TP Monitor的在金融業(yè)的應(yīng)用經(jīng)驗(yàn)來看,TP Monitor主要作用是:
1 提供一個(gè)高性能、高穩(wěn)定的通訊框架:(如銀行總分互聯(lián)、應(yīng)用之間互聯(lián))
2 支持大并發(fā)的交易處理平臺(在線交易實(shí)時(shí)處理,但一般不作為事務(wù)管理器,因?yàn)槿质聞?wù)代價(jià)過高,主要用數(shù)據(jù)庫自身事務(wù)機(jī)制)。
3 支持軟件負(fù)載均衡,支持水平擴(kuò)展(如:TUXEDO MP)。
開源App Server如Jboss/Jonas 全部采用純Java實(shí)現(xiàn),性能是個(gè)問題,跟TUXEDO/CICS相比。
假設(shè)我們要自行實(shí)現(xiàn)一個(gè)可用的TP Monitor,必須要解決上述幾點(diǎn)。
從Java的性能來看,它的內(nèi)部代碼執(zhí)行效率不低,主要弱在:
1 socket通訊效率低
2 ipc機(jī)制不支持
3 數(shù)據(jù)庫訪問效率低(實(shí)際的交易實(shí)現(xiàn)效率低,不管用EJB還是POJO)
目前有考慮
1 高性能的通訊框架,必須采用C代碼實(shí)現(xiàn)。Java做不到Zero Copy,并且JNI在Java和本地C代碼之間復(fù)制內(nèi)存代價(jià)也很高。
2 大并發(fā)的處理平臺,這個(gè)是Java的優(yōu)勢所在,Java對于同步、并發(fā)的實(shí)現(xiàn),寫起來簡單
3 IPC支持(SystemV消息隊(duì)列、共享內(nèi)存、信號燈),標(biāo)準(zhǔn) Java 庫缺乏,但是可以通過JNI實(shí)現(xiàn),實(shí)現(xiàn)策略可以參考SWT的實(shí)現(xiàn)策略。
4 用戶SERVICE實(shí)現(xiàn)(數(shù)據(jù)庫訪問),采用C實(shí)現(xiàn),充分利用高效的數(shù)據(jù)庫本地接口。