Tuxedo學習筆記-UBBCONFIG
一個 Tuxedo 應用系統的所有資源都在一個文本文件中進行定義,該文件稱為 UBBCONFIG 。在配置完成之后, UBBCONFIG 被編譯成一個二進制的文件 TUXCONFIG 。在 Tuxedo 系統啟動時,從該文件中讀取系統的配置信息。 UBBCONFIG 文件類似于 Windows 下的 *.ini 文件。它包括以下 8 大部分,我們稱之為節。
???????? *RESOURCES 節(必須):與整個系統有關的配置信息
???????? *MACHINES 節(必須):一個 Tuxedo 應用系統可能跨越多臺服務器,在該節中配置與每臺服務器有關的信息
???????? *GROUPS 節(必須): Tuxedo 中的服務可被分為多個組,在該節配置與組有關的信息
???????? *SERVERS 節(可選):與 Server 有關的信息
???????? *SERVICES 節(可選):與 Services 有關的信息
???????? *NETWORK 節(可選):與網絡有關的信息
???????? *ROUTING 節(可選):配置路由規則
???????? *NETGROUPS 節(可選):與網絡分組有關的信息
一個 Tuxedo 應用系統=服務端程序+客戶端程序+配置文件
Server :每一個服務端程序文件都被編譯成一個相應的可執行文件,該文件在運行的時候稱為 Server ,它實際上就是一個進程。
Services :在每個服務端程序中,主要是一個個函數,在 Tuxedo 中稱這些函數為 Services ,一般也稱之為服務。
一個系統可以跨越多臺服務器,一臺服務器可以有多個 Group ,但一個 Group 只能在一臺服務器上,一個 Group 可以有多個 Server ,一個 Server 可以有多個 Service
*RESOURCES 節 ???
常見參數意義
參數 ????? |
意義 |
I PCKEY |
共享內存 id 。 Tuxedo 用它標識公告板和其它 IPC 資源,范圍 32769~262142 |
MASTER |
指出主控節點的邏輯名 LMID ,也可以為該 MASTER 機指定一臺備份機 |
UID |
TUXEDO 管理員用戶 id ,在 UNIX 下就是執行 tnloadcf 的用戶 ID ,在 Windows 下沒用,取 0 |
GID |
TUXEDO 管理員用戶所在的組 id 。在 Windows 下取 0 |
|
指定對此 IPC 資源的存取權限。默認為 0666 ,即任何人都可以對該 IPC 資源進行存取 |
DOMAINID |
該 TUXEDO 應用系統的唯一標識 |
MAXACCESSERS |
設定在本系統一個節點(一臺服務器)上,可以有多少進程訪問該系統的公告板,默認為 50 |
MAXSERVERS |
設定系統中最多有多少個 Server 存在,默認值 50 |
MAXSERVICES |
設定系統中最多有多少個 Service 存在,默認值 100 |
MODEL |
部署模式: SHM (單機或者多臺服務器但公用一個全局共享內存)、 MP (多臺服務器但沒使用一個全局共享內存) |
OPTION |
LAN (表使用 MP 部署模式), MIGRATE (表服務可以移植到替代處理器上) |
SCANUNIT |
內部時間間隔單位,單位是秒,默認值 10 秒 |
SANITYSCAN |
Tuxedo 的管理進程 BBL 定時對它所在的服務器上的 Tuxedo 系統進行檢查,檢查超時的事務、超時的客戶端連接等。 SANITYSCAN 指每隔多少個 SCANUNIT 檢查一次,默認值 12 ,即為 12 × SCANUNIT (默認 10 秒)= 120 秒 |
BLOCKTIME |
交易超時時間,單位是 SCANUNIT ,默認值 6 |
MAXCONV |
同時最大會話數,范圍: 0 ~ 32768 ,默認值 10 |
NOTIFY |
設置消息的通知方式。默認為 DIPIN (當客戶端調用 ATMI 函數時,順便查看是否有消息,如果有就發送給 Client ) |
范例:
*RESOURCES
IPCKEY??????????????????????????? 80952
UID??????????????????????????????????? 213
GID????????????????????????????????????????? 1
PERM?????????????????????????????? 0660????
MAXACCESSERS??????? 150
MAXSERVERS???????????????????? 75
MAXSERVICES??????????????????? 200
MASTER????????????????????????? SITE1,SITE2
MODEL?????????????????????????????????? MP
OPTIONS???????????????????????? LAN,MIGRATE
SCANUNIT????????????????????? 10
SANITYSCAN???????????????? 12
BLOCKTIME?????????????????? 3
MAXCONV????????????????????? 10
NOTIFY????????????????????? DIPIN
*MACHINES 節
常見參數意義
參數 ????? |
意義 |
LMID |
物理處理器名,可以通過 ”uname –n” 或節點名得到 |
TUXDIR |
TUXEDO 系統軟件安裝位置 |
APPDIR |
應用服務位置全路徑 |
TUXCONFIG |
TUXEDO 配置文件全路徑 |
ENVFILE |
環境文件全路徑 |
TYPE |
指定該服務器類型,當兩臺服務器類型不同時,在它們之間傳送數據要進行編碼 / 解碼工作 |
ULOGPFX |
指定應用日志文件所在的目錄及前綴。 |
UID 、 GID 、 PERM 、 MAXACCESSERS 、 MAXCONV 在這里可以被重新配置,以這里為準
*GROUPS 節
一臺機器至少要定義一個服務組。如果沒有定義組,管理命令 tmadmin 可能依然能運行。
?????? 每個組只要定義組名,映射組名的組號和邏輯機器名。組為分布式交易系統和數據依賴路由等靈活性措施提供了支持。
常見參數意義
參數 ????? |
意義 |
組名 |
組的唯一標識符,可以是字母數字 |
GRPNO |
組的唯一數字標識符 |
LMID |
邏輯機器名 |
范例
*GROUPS
BANKB1???? GRPNO=200???? LMID=SITE1
BANKB2???? GRPNO=220???? LMID=SITE1
SYSGRP???? GRPNO=110???? LMID=SITE1
EVTGRP1?? GRPNO=120???? LMID=SITE1
*SERVERS 節
常見參數意義
參數 ????? |
意義 |
SRVGRP |
服務屬于一個在 *GROUPS 節中定義的服務組名 |
SRVID? |
該 Server 所對應的 ID 。在組中應該唯一 |
MIN |
最少啟動的進程數 |
MAX |
最多啟動的進程數 |
RESTART |
如果設成 Y ,則服務可以重啟動 |
GRAC , MAXGEN |
在 GRACE 定義時間之內,服務可以重啟動 MAXGEN 次 |
RCMD |
每次服務重啟動要執行的一個可執行文件名 |
CLOPT??????? 跟隨服務啟動的其他參數
-A ??????? 服務內建交易全發布
–r?????????? 指定服務記錄時間戳,用于以后計算交易處理時間
????????????? -e ???????? 定義標準錯誤重定向文件
????????????? -o ???????? 定義標準輸出重定向文件
????????????? --??????????? TUXEDO 參數和服務特定參數的分隔符
????????????? …????????? 傳給 tpsvrinit() 的參數
在默認情況下, Tuxedo 的每一個 Server 對應一個請求隊列,也可以多個 Server 對應一個請求隊列,即 MSSQ 方式,以提高響應的速度。方法是設置以下參數。
RQADDR :當設定此項后,所有本服務的實例都使用相同的請求隊列。這是在應用中設置 MSSQ ( Multiple Server Single Queue )的方便辦法,可以改善處理流量。任何時候,所有 MSSQ 集中的實例發布相同的交易集。
XFER :另一個服務 ??????
REPLYQ : ? 設成 Y ,則服務又作為一個 MSSQ 集配置,任何其中的交易調用其他交易,就建立一個單獨的回應隊列。
范例
*SERVERS
DEFAULT:? RESTART=Y???? MAXGEN=5????? GRACE=3600
???????????????????? RCMD=”/sur/apps/atmapp/scripts/beeper”
???????????????????? CLOPT=”-A”????? ENVFILE=”/usr/apps/atmapp/envfile”
TLR????????????? SRVGRP=BANKB1?????? SRVID=10? MIN=1?? MAX=2
???????????????????? CLOPT=”-A –r
???????????????????? -e /usr/apps/atmapp/logs/TLR1.err
???????????????????? -o /usr/apps/atmapp/logs/TLR1.out
???????????????????? --
???????????????????? -T 101 –e 300 –d dbfile”
???????????????????? SYSTEM_ACCESS=PROTECTED
???????????????????? RQADDR=”TLR_Q
XFER?? SRVGRP=BANKB1?????? SRVID=20? MIN=1?? MAX=2
????????????? RQADDR=”XFER_Q
????????????? CLOPT=”-A –r”
*SERVICES 節
常見參數意義
參數 ????? |
意義 |
BUFTYPE |
任何向該交易的請求,數據應該是此處定義類型 |
SRVGRP |
交易所在服務所在的組 |
LOAD |
負載因子,表示處理請求的時間,用于計算負載平衡,默認為 50 |
PRIO |
優先級,默認為 50 |
范例
*SERVICES
DEPOSIT??? BUFTYPE=”FML”
???????????????????? SRVGRP=BANKB1
???????????????????? LOAD=25?? PRIO=70
配置文件的編譯(生成 TUXCONFIG 文件)
UBBCONFIG 文件是一個可以編輯成需要的應用配置的文本文件。但是, /T 在實際應用上讀取的是二進制 TUXCONFIG 文件用于操作。命令 tmloadcf 可以把 UBBCONFIG 文件轉化成 TUXCONFIG 文件。
Tmloadcf ?-y UBBCONFIG 文件名
tmloadcf 命令接受以下 4 個參數:
-c??? 計算運行應用需要的 IPC 資源,該信息將提供給管理員,用于在各機器上配置資源。
-n??? 進行語法檢查并不生成 TUXCONFIG 。
-b??? 控制 TUXCONFIG 占用的物理頁數。
-y??? 無條件覆蓋 TUXCONFIG ,對全部問題都選“ yes ”
反編譯命令 tmunloadcf 將 TUXCONFIG 轉換成 ASCII 格式用于檢查。該工具讀取環境變量 TUXCONFIG 指向的文件。輸出包含所有的參數,包括 TUXEDO 設定的缺省值,是 UBBCONFIG 文件的一個超集。
Tmunloadcf? >myubbposted on 2006-09-04 23:26 Vincent.Chen 閱讀(2247) 評論(0) 編輯 收藏 所屬分類: BEA