多個server的問題。
假設citibox.com / cosmosd.com 各有乙個server。
他們的客戶端要互聯。
方法:1. 在citibox.com / cosmosd.com 之間建立橋,實現互聯。
結論:建立伺服器的橋。
2. 客戶端同時面對citibox.com / cosmosd.com
結論:否決。
3. 僅開乙個伺服器,例如pixysoft.net 其他的鏈結到這個伺服器。
結論:否決。實在不方便。而且不容易負載平衡
------------------
伺服器集群的思路:
1. citibox.com = 伺服器a
cosmosd.com = 伺服器b
pixysoft.net = 伺服器c
他們各自負責對應的**的comet、格仔有im的帳號。
現在, 我是乙個客戶端:[email protected]。需要同時能夠和三颱伺服器的內部節點、外部節點對話。
------------------
1. 使用直接轉接。
轉接者不負責處理,僅僅把資料交給乙個中心機。例如pixysoft.net是核心系統,擁有所有資訊。其他的僅僅是轉接。
例如轉接者是:citibox.com,他擁有客戶a/b/c,以及pixysoft.net。
那麼當a/b/c和citibox.com交流的時候,他會直接把資訊轉移到pixysoft.net。由pixysoft.net負責。
這個時候citibox.com本身不需要建立任何的對話快取,而是只要收到資訊就**。
設計簡單,但是增加了節點之間的通訊;例如本來的設計中:
a -- citibox.com -- admin
現在a -- citibox.com -- pixysoft.net -- admin
------------------------
2. 各自為政,當本節點無法處理的時候,才交給轉接節點。
citibox.com = a
cosmosd.com = b
client c in a
client d in b
c ---(bind d)--- a
a 發現沒有,則建立乙個connectioncache,同時傳送乙個轉接指令
a ---(redirect d) --- b
如果b發現存在,則
1. b - redirectpass - a
2. b - bind d - d
3. a - succeed - c
如b不存在
1. b - redirectfail - a
2. a - 取消connectioncache
3. a - fail - c
以上都會在a建立了d的快取,這樣下次a再訪問可以直接讀取快取。
Mycat集群架構
架構圖集群總共需要有8臺機子,mysql需要4臺,mycat需要2臺,負載均衡和高可用需要2臺。之所以mycat需要集群這樣的架構,是為了避免mycat單點失效的情況,mysql主機有4臺 db1 db4 其中db1和db3是組一 主主複製 db2和db4是組二 主主複製 之所以需要主主複製是因為m...
Linux集群架構
高可用集群通常為2臺伺服器 功能和角色是一樣的 一台在工作,另一台作為冗餘。當提供服務的機器宕機,冗餘將接替繼續提供服務,這樣就可以提供系統可用的效率。高可用集群的衡量標準要保證集群服務100 時間永遠完全可用,幾乎可以說是一件不可能完成的任務。比如,在這幾年雙十一剛開始的時候,一下子進來買東西的人...
MYSQL集群架構
1 讀寫分離架構 主從架構 一寫多讀,一主多從 問題 應用程式需要連線多個資料來源 mycat可以解決 主從之間同步是非同步的 資料時弱一致性的 pxc集群 2 中介軟體 問題 主從之間同步是非同步的 資料時弱一致性的 pxc集群 中介軟體的效能將成為系統的瓶頸 3 多個中介軟體的架構 問題 主從之...