本帖最后由 yulihua49 于 2017-11-11 22:05 編輯
有SDBC簡(jiǎn)介,交易中間件,SDBC7說明書、使用指南,DAU7等等文檔。
http://qun.qzone.qq.com/group#!/100807652/share
交易中間件 與 SDBC 交易中間件是協(xié)助開發(fā)在線交易系統(tǒng)(OLTP)的C/S/S應(yīng)用框架。它提供如下功能: 支持大量客戶端的連接和高并發(fā)度的交易處理。幫助應(yīng)用系統(tǒng)有效的使用服務(wù)器的各種資源,如CPU、內(nèi)存、文件系統(tǒng)、數(shù)據(jù)庫、IO設(shè)備等等,方便的實(shí)現(xiàn)并發(fā)操作,包括一個(gè)主機(jī)各種資源的并發(fā)使用和多臺(tái)服務(wù)器主機(jī)的資源的并發(fā)使用。 方便的定制應(yīng)用服務(wù)功能,實(shí)現(xiàn)服務(wù)器端的應(yīng)用業(yè)務(wù)邏輯。一般是通過遠(yuǎn)過程調(diào)用實(shí)現(xiàn)。也可以這么說,應(yīng)該能夠自定義遠(yuǎn)過程。 對(duì)各個(gè)層次的資源能夠均衡的使用,如數(shù)據(jù)庫,各服務(wù)器及各CPU,各IO系統(tǒng)等。 應(yīng)能提供一定程度的交易安全保證,以便系統(tǒng)能夠在開放的網(wǎng)絡(luò)環(huán)境下進(jìn)行安全的交易。 提供應(yīng)用路由,即內(nèi)容決定的路由。 提供分布式交易完整性管理(兩階段提交)
一個(gè)交易框架系統(tǒng),至少提供1,2才可以稱為交易中間件。 SDBC實(shí)現(xiàn)1,2,4,5。3是在LVS協(xié)助下完成。 并發(fā)支持:在SDBC中,服務(wù)器端支持PPC模式,即每連接一個(gè)進(jìn)程(Process Per Connection),TPC模式(Thread Per Connection),TPOOL模式(Thread Pool )。 PPC模式具有最好的可靠性,所有的服務(wù)均無需考慮線程安全。任何一個(gè)服務(wù)發(fā)生異常,最多引起自己的服務(wù)崩潰,不影響其他客戶。但系統(tǒng)資源消耗比較大,最好配合交易管理器使用,否則,客戶端接入數(shù)量不超過256。PPC的樣本在:$SDBCDIR/utility/sqlsrv. TPC模式比PPC有更好的資源利用率,如數(shù)據(jù)庫資源可以設(shè)置連接池,使資源得到合理利用。這個(gè)模式有更好的可移植性,適用于各種平臺(tái),客戶端接入數(shù)量在1000以下。TPC的樣本在:$SDBCDIR/utility/thread. TPOOL模式具有極佳的系統(tǒng)資源控制和使用能力,它使用了epoll事件通知機(jī)制,雖然具有極高的性能,但可移植的平臺(tái)受限,只能在LINUX系統(tǒng),它可以承載上萬的客戶端接入。TPOOL的樣本在:$SDBCDIR/utility/tpool. 三者都可以配合交易管理器使用。交易管理器是tpool模式,因此只適合在LINUX平臺(tái)運(yùn)行。交易管理器的樣本在:$SDBCDIR/utility/mod_sc. SDBC服務(wù)器可以方便的定制用戶自己的業(yè)務(wù)邏輯模塊(遠(yuǎn)過程)。它們具有統(tǒng)一的接口方式。具體使用方法見《SDBC使用指南.doc》 三種服務(wù)模式均能夠很好的平衡一臺(tái)主機(jī)上的各種資源的使用。如需使用多臺(tái)主機(jī),需配合LVS或其他硬件的負(fù)載均衡器。為一個(gè)服務(wù)器組配置一個(gè)虛地址(虛擬服務(wù)器),綁定多個(gè)實(shí)際服務(wù)器(RS),客戶端呼叫虛地址即可。這個(gè)架構(gòu)具有極佳的均衡效果和容錯(cuò)能力。 SDBC提供了獨(dú)特的加密,認(rèn)證,授權(quán)等安全管理。它提供了動(dòng)態(tài)加密功能,每次連接都提供不同的密鑰。加密可以設(shè)置不同的層次: 0:不加密,1:快速加密,2:中等程度的加密,3:高強(qiáng)度加密。 認(rèn)證:SDBC提供了綁定設(shè)備的認(rèn)證方式,同時(shí)支持用戶自定義的認(rèn)證方式?梢葬槍(duì)一個(gè)客戶端設(shè)備許可其連接,未經(jīng)許可的設(shè)備不能連接。這個(gè)許可權(quán)是不可轉(zhuǎn)讓的。 SDBC對(duì)數(shù)據(jù)庫的操作還有一套訪問授權(quán)機(jī)制:針對(duì)每個(gè)表,對(duì)每個(gè)登錄用戶分別授予select、insert、update、delete權(quán)限。通過一個(gè)二維表進(jìn)行設(shè)置,很簡(jiǎn)便。 SDBC提供了多進(jìn)程、多線程安全的日志系統(tǒng),用于記錄應(yīng)用軟件的行為,協(xié)助安全審計(jì)。
應(yīng)用路由是由交易管理器提供的。簡(jiǎn)單的應(yīng)用可以不用交易管理器。交易管理器起到如下作用:為服務(wù)器實(shí)施安全隔離;為PPC和TPC服務(wù)器擴(kuò)充客戶端接入能力,管理一套連接池系統(tǒng);管理多個(gè)服務(wù)器組,并使得客戶端能夠選擇不同的服務(wù)器組,這就是應(yīng)用路由。它提供的是靜態(tài)路由。它的連接池管理具有自愈功能。在運(yùn)行中,一旦服務(wù)器損壞,它及時(shí)報(bào)告客戶端。故障恢復(fù)后,這個(gè)資源自動(dòng)恢復(fù)為可用。這中間無需重新啟動(dòng)交易管理器。 兩階段提交目前沒有實(shí)現(xiàn),需要應(yīng)用邏輯自行管理。 除上述功能外,SDBC還提供了數(shù)據(jù)庫包裝器,使應(yīng)用程序能夠更方便可靠高效率的使用數(shù)據(jù)庫。目前支持ORACLE、DB2。對(duì)SYBASE部分支持。這個(gè)包裝器有助于應(yīng)用程序的適應(yīng)性,就是在用戶需求不斷變化,甚至數(shù)據(jù)結(jié)構(gòu)不斷變化時(shí),你的應(yīng)用程序只需極少的變化或不變化。 另外,C的服務(wù)器,內(nèi)存的使用是由程序員自行管理的,一個(gè)經(jīng)驗(yàn)不足的程序員,常常造成內(nèi)存違例或內(nèi)存泄露。SDBC提供了一系列的常用例程,使用這些例程有助于寫出內(nèi)存可靠的程序。對(duì)于建立可靠的應(yīng)用服務(wù)器非常有幫助。 ————————————————————————————————————————————————
這個(gè)版本比較老了,現(xiàn)在,3,負(fù)載均衡已經(jīng)可以由交易管理器完成,不依賴LVS。在配置文件里,服務(wù)組號(hào)相同的N臺(tái)服務(wù)器組成負(fù)載均衡,如:
組號(hào)|..|..|連接數(shù)|地址|端口|.......
1|..|..|8|10.118.112.10|15476|...........
1|..|..|8|10.118.112.11|15476|.......
1|..|..|8|10.118.112.12|15476|.....
連接數(shù)也可以不等,以形成不同的配重?梢耘渲枚鄠(gè)組號(hào),完成不同功能。
客戶端與交易管理器連接時(shí)申明組號(hào)。
|