?? 209008.htm
字號:
<html><body><span id=Layer1><a name=209008><font color=#3e70d7 face=arial size=5><b>MSMQ的訊息路由</span><span id=Layer2></b></font><p><font size=2 color=#3c3c3c face=arial>假設一個MSMQ獨立客戶端要傳送訊息到某個MSMQ伺服器的佇列。送訊息到目的地佇列最簡單、最快速的方式是為客戶端以及目的地佇列所在機器的MSMQ建立起傳輸層 (transport-layer) 連結,通常是使用TCP。如果可以建立直接連線的話,MSMQ就會這麼做。</span><span id=Layer3></font></p><p><font size=2 color=#3c3c3c face=arial>MSMQ是在傳送者與接收者之間建立的直接連線</span><span id=Layer4></font></p><hr><font face=Arial Black color=#3e77d7 size=3><b></b></font><p><font size=2 color=#3c3c3c face=arial>MSMQ是在傳送者與接收者之間建立的直接連線</span><span id=Layer5></font></p><hr><p><font size=2 color=#3c3c3c face=arial>但如果不行的話呢?例如客戶端與伺服端位於不同的網路而無法直接連接,那又會如何呢?在這情況下,MSMQ有他自己的訊息路由方式。為了決定如何路由訊息,MSMQ會利用佇列的優先順序、訊息的優先順序、以及一些可由管理工具設定的參數。如果目的地系統目前無法使用,MSMQ將會持續試著遞送訊息,一直到成功或訊息被強制刪除為止。</span><span id=Layer6></font></p><p><font size=2 color=#3c3c3c face=arial>如果必要的話,MSMQ會路由訊息由傳送者到接收者</span><span id=Layer7></font></p><hr><font face=Arial Black color=#3e77d7 size=3><b></b></font><p><font size=2 color=#3c3c3c face=arial>如果必要的話,MSMQ會路由訊息由傳送者到接收者</span><span id=Layer8></font></p><hr><p><font size=2 color=#3c3c3c face=arial>雖然這并非絕對必要,但通常會把MSMQ部署在Windows 2000網域環境中,這意味著可以使用Active Directory。就像在</span><span id=Layer9> <a target='_new' href=202.htm#>第二章</span><span id=Layer10></a> 中所說的,Active Directory支援站臺 (site) 概念。站臺由一群定義好的IP子網路 (subnet) 組成,而且站臺內的所有系統應該由快速的線路連結在一起。</span><span id=Layer11></font></p><p><font size=2 color=#3c3c3c face=arial>由此想法,MSMQ自動地處理單一站臺內的訊息路由。然而,要在不同的站臺之間路由訊息的話,MSMQ管理員必須定義訊息行進的可行路徑。用來在站臺間路由訊息的連結稱為路由鏈結 (routing link)(,而當作站臺出入口的兩個MSMQ伺服器可由鏈結直接相連。管理員可以為每個鏈結指定費用 (cost),MSMQ就利用這些費用為路由路線做更明智的決定。圖9-8展示一個MSMQ環境中有兩個站臺、站臺出入口、以及它們之間的路由鏈結。</span><span id=Layer12></font></p><p><font size=2 color=#3c3c3c face=arial>MSMQ藉由路由鏈結在戰臺之間路由訊息</span><span id=Layer13></font></p><hr><font face=Arial Black color=#3e77d7 size=3><b></b></font><p><font size=2 color=#3c3c3c face=arial>MSMQ藉由路由鏈結在戰臺之間路由訊息</span><span id=Layer14></font></p><hr><p><font size=2 color=#3c3c3c face=arial>MSMQ 1.0有它自己的站臺概念,而路由鏈結原本稱為站臺鏈結(site link)。在Windows 2000,「站臺鏈結」這個名詞說的是Active Directory用來在站臺之間復制資訊的連接。MSMQ的路由鏈結是完全不同的觀念。</span><span id=Layer15></font></p><hr><font face=Arial Black color=#3e77d7 size=3><b> 附注</b></font><p><font size=2 color=#3c3c3c face=arial>MSMQ 1.0有它自己的站臺概念,而路由鏈結原本稱為站臺鏈結(site link)。在Windows 2000,「站臺鏈結」這個名詞說的是Active Directory用來在站臺之間復制資訊的連接。MSMQ的路由鏈結是完全不同的觀念。</span><span id=Layer16></font></p><hr><br><center><a target=_new href=imagesh/9-8.gif><img border=0 src='imagesl/9-8.gif'></a></center></span><span id=Layer17><center><table border=0 ><td align=center><font color=#3c3c3c face=arial size=2><font size=2 face=arial color=#3e80d7><b> 圖9-8</span><span id=Layer18> </b></font>MSMQ以路由鏈結連接站臺</span><span id=Layer19></td></table></font></center><p><font size=2 color=#3c3c3c face=arial>管理員可以將站臺內幾個獨立客戶端設定為總是會透過相同的MSMQ伺服器傳送訊息,這個選擇稱為集會 (session concentration)。結果是一個類似星形 (star-like) 的邏輯拓 ,即使由一個獨立客戶端送到另一個的訊息也會先行送到位在星形中心的MSMQ伺服器。集會可以降低MSMQ使用的網路頻寬,代價是得在客戶端之間多走些路徑。站臺出入口也允許站臺內部集會 (intersite session concentration),因為進出站臺的所有訊息都必須經過站臺出入口。雖然某些訊息可能因此增加了連接動作的數量,但這確實會簡化網路的路由拓 。</span><span id=Layer20></font></p><p><font size=2 color=#3c3c3c face=arial>集會允許所有的訊息都經由同一個MSMQ伺服器路由</span><span id=Layer21></font></p><hr><font face=Arial Black color=#3e77d7 size=3><b></b></font><p><font size=2 color=#3c3c3c face=arial>集會允許所有的訊息都經由同一個MSMQ伺服器路由</span>
</body></html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -