MQ Cluster 的典型部署模式

2021-08-26 17:03:49 字數 763 閱讀 1011

公司的資料交換平台產品,採用的系統星型結構,底層基於成熟的訊息中介軟體進行資料傳輸,由於星型結構,中心節點比較容易形成效能的瓶頸,為例解決這個問題,採用了mq cluster的方式,部署結構如下所示:

在 cluster 中首先設計一台 mq 伺服器作為整個 cluster 的閘道器,作為對外的連線點,它本地並不定義任何輸入(inbound)佇列(如上例中的 q1),只定義輸出(outbound)佇列(如上例中的 q2)。另外設定若干訊息處理伺服器,其中定義本地的輸入佇列,同時有訊息處理程式在執行。在外部交易進入 cluster 時首先傳送到閘道器機上,由閘道器動態地傳送到 cluster 裡定義了輸入佇列的 mq 伺服器上去。

mq 閘道器可以根據設定,按照輪循或權重的方式對進入的訊息進行分發,還可以通過出口程式(user exit)實現更加複雜的分發機制。

在每個訊息處理伺服器都部署有完全相同的應用處理程式,它們讀取輸入佇列裡的訊息,經過處理後把結果寫入輸出佇列。輸出佇列只定義在 mq 閘道器機器上,任何訊息處理伺服器寫出的訊息都回最終傳送到閘道器上。前台程式連線閘道器,讀取返回結果。

由於閘道器採用了照輪循或權重的策略,被集群的多個節點可以併發地處理被分配的訊息,因此能顯著地獲得效能提公升。

為了獲得更高可用性,這個方案中有兩點需要注意:

1. 可以看到 mq 閘道器是個單點隱患,為了更高可用性,要使用 hacmp 等方案實現備份。

2. 如果訊息處理伺服器上的應用程式意外停止執行,資料會在佇列中堆積起來,為了避免這種情況,需要自動指令碼在應用程式停止時自動把 mq 停止,這樣後來的訊息會發給其他伺服器處理。

uWSGI Nginx Django的部署模式

到這裡django服務已經確保可以執行了 同樣是在py36的虛擬環境下 start response 200 ok content type text html return b hello world 到這裡django uwsgi就測試通過 demo nginx.conf upstream dj...

nginx uwsgi django部署各模組作用

1.概念 uwsgi web伺服器 和nginx類似 什麼是uwsgi uwsgi是乙個全功能的http伺服器,實現了 wsgi協議 uwsgi協議 http協議 等。uwsgi作用 它要做的就是把http協議轉化成語言支援的網路協議,比如把 http協議轉化成wsgi 協議,讓python可以直接...

儲存陣列和SAN網路的典型部署

在企業內部做iaas,共享儲存資源池是必然要求,對於大部分企業來講,其實並不需要太多新技術,傳統的san儲存網路在當下是絕對能夠非常良好的支撐iaas私有雲的,儲存陣列和san交換機就夠了,至於該買什麼牌子,同檔次裡找便宜的吧,不差錢的話,推薦emc的儲存解決方案。這篇將以emc vnx和博科交換機...