理不辨不明,寫了一些關於分散式的理解,歡迎各位批評指正

vic732發表於2009-01-14
分散式的意義是什麼:
負載均衡:負載均衡並不是普通意義的負載均衡,比如輪詢機制,等等,高階的負載均衡需要根據伺服器的(能力與當前壓力負載)進行動態調控分佈,有人會說直接用F5類似的四層交換機進行負載均衡可以麼,但並不是所有的的地方都會用四層交換機做負載均衡,比如一個團隊中的人在分配任務的時候,需要根據每個人的能力分配不同的任務,當其中能力高或低的人出現壓力過大的時候也需要調整

failover:在其中某一臺機器出現異常的時候,因為考慮完備的(stateful session bean)狀態複製策略,我們的應用能夠絲毫不受影響,就象董存瑞炸碉堡,一個接一個上,直至把炸碉堡任務完成,而這些大量複雜的工作對於EJB使用層來說,是完全透明的(需要進行配置),web service 協議為什麼不適合用來做叢集,web service 的出現不是用來解決叢集問題的,webservice 是基於xml的一種服務,需要不停地解析xml,隨著xml的大小變化,這種解析所耗費的時間成本是我們需要注意的,而專業的協議對於這些在設計初期就有一些考量

分散式事務:我們從一個專案關於資料庫的構建過程中來挖掘這方面的需求,在專案的初期,我們只有一個資料庫(邏輯,並不知資料庫主機),之後我們考慮不同的應用模組來進行資料庫表的建立,這時候我們發現出於資料庫管理的考慮、安全性的考慮,我們會在資料中建立不同的資料庫使用者,隨著專案的成功上線以及後期的業務擴充,市場推廣,我們會發現資料庫需要進行大量的最佳化工作,比如,分表,分割槽,區域性索引,全域性索引,還有可能分庫。專案進行到這階段,我們發現系統中的資料庫連線變的複雜了,這種複雜性一些被資料庫管理系統隱藏了,一部分不可避免的暴漏給應用系統,暴漏給應用系統的主要途徑是什麼,是我們的資料庫連線,我們的資料庫連線變成分散式的了,這些資料庫連線服務於我們的業務系統,在同一個業務系統中,不可避免的引入了多個連線,自然而然的分散式事務浮出水面了,他的作用(不顯山不漏水)的展現出來。

相關文章