東方通中間件TongEASY產品學習筆記[轉]
在我從事的工作中,我最喜歡的一個軟件就是中間件。技術不斷發展,中間件的概念也不斷進行。我所說的中間件,還是傳統意義上的。業界使用比較多的中間件,我所涉及的有三個,有BEA的Tuxedo(目前在Oracle旗下),Borland的Visibroker,還有國內東方通的TongEASY。
我使用時間最長的是Tuxedo. 一年前一個機會,甲方准備測試一下這三個中間件誰優誰劣,我作為業務開發負責人,讓我可以接觸其他兩個。
現在想起來,這個機會實在難得。現在把當時培訓TongEASY的學習筆記曬一下,省得發霉。
今天在公司聽取了東方通中間件產品介紹。對這種中間件產品進行詳細的了解。通過聽講座,學到了很多有關的東方通的知識。
一. 與東方通TongEASY有關的基本概念
東方通中間件的組成:由三層組成。通信管理模塊、事務管理模塊、應用開發API。
u 節點:是中間件的提供服務的基本單位,獨立配置,獨立啟動,提供服務。可以進行集群配置。配置時分為上下級節點,下級節點調用上級節點所提供的服務。
u 客戶端:分為節點客戶端(胖客戶端)和瘦客戶端。
u 連接:分為常連接和動態鏈接,上下級節點之間的連接為常連接;瘦客戶端采用動態連接,調用時需設置代理節點。
u 事務:分為全局事務,分支事務。東方通支持XA式兩階段提交,由中間件管理事務的中間狀態;也支持有應用自己管理事務的非XA方式。
二. TongEASY的安裝和配置
接下來我們學習的是TongEASY的安裝和配置,安裝過程非常的簡單,只需要將TongEASY的壓縮包解壓就可以,在配置四個環境變量。
系統要求:對於AIX,只需要檢查系統參數maxuproc > 1000就可以了,其他平台還需要調整共享內存、消息隊列、信號量、打開文件數、並發進程數等參數。
環境變量:需要配置4個系統參數
TONGEASYHOMEDIR(指向TongEASY安裝目錄)
TONGEASYDIR(指向TongEASY配置文件存放目錄etc)
TEFILESDIR(指向TongEASY發送、接收文件的目錄file)
TELOGDIR(指向TongEASY日志文件的存放目錄log)
編譯環境:系統需要有CC編譯器,C標准庫,多線程支持庫,PROC編譯。
配置文件:
通信管理模塊配置文件
srcpara.txt 中間件參數配置文件
TongLINK.conf 節點配置文件
route.txt 路由配置文件
事務管理模塊
dbdesc.txt 數據庫配置文件
svcdesc.txt 服務配置文件
常用命令:
tminit 中間件啟動
tmend 中間件結束
tlmenu 節點配置工具
loadnode 重新加載配置文件
三. 應用Demo介紹
今天還介紹了一個同步調用的Demo,來了解TongEASY的開發過程。
配置服務有以下步驟:
配置數據庫連接配置文件dbdesc.txt
配置服務配置文件svcdesc.txt
編譯客戶端,編譯方法跟普通的PROC程序沒有分別。
編譯服務端,需要使用Tebuild命令進行編譯服務
四. TongEASY提供的API
TongEASY面向不同的數據庫(Oracle,Informix,Sybase)提供不同的編譯庫,但是具有相同的編程接口。對於語言支持上,不但提供了C庫,還提供了供Java調用的類庫。
C程序會應用到的API:
TE_tpinit() 應用注冊
TE_tpterm() 應用注銷
TE_tpcall() 同步方式調用服務
TE_tpacall() 異步方式調用服務
TE_tpgetrply() 接收異步請求應答
TE_tpreturn() 服務端返回
TE_tpforword() 轉發請求
五. 與TUXEDO相比TongEASY的優劣
在中間件的產品中,TongEASY算是后期之秀,很多面有着比TUXEDO更方便的應用,更靈活的設計。尤其是它擁有的節點的概念,是中間件集群配置更加的方便,他的名字服務給了服務邏輯別名,使得配置更加靈活。同時名字服務集成的負載均衡功能,更有利於它的這種分布式設計結構。
和TUXEDO相比,他也存在着一些不足。①TongEASY不支持服務級重啟,只支持節點級重啟,這樣對於7*24系統可能會有一些影響②TongEASY不支持按照服務分別記錄日志。一個節點上的日志,會記錄到一個日志文件中。這樣大型的系統會造成日志文件相當的大,並且不利於通過日志文件查找問題。