大規模分佈式系統架構與設計實戰

http://code.google.com/p/fourinone


可靠性


1、TIPS

(1)分佈式計算:研究如何把一個需要非常巨大的計算能力才能解決的問題分成許多小的部分,然後把這些部分分配給許多計算機進行處理,最後把這些計算結果綜合起來得到最終的結果。


(2)並行計算:指同時使用多種計算資源解決計算問題的過程。

所有大型編程語言都支持多線程,多線程就是好一種簡單的並行計算方式,多個程序線程並行爭搶CPU時間。


所謂並行計算分爲時間上的並行和空間上的並行。時間上的並行就是指流水線技術,空間上的並行是指用多個處理器併發執行計算。


傳統的串行計算,分爲指令和數據兩個部分,在程序執行時獨立申請和佔用內存空間,且所有計算均侷限於該內存空間。

並行計算將進程相對獨立的分配於不同的節點上,由各自獨立的操作系統調度,享有獨立的CPU和內存資源(內存可以共享);進程間相互信息交換是通過消息傳遞進行的。


(3)雲計算:實際上是分佈式技術+服務化技術+資源隔離和管理技術(虛擬化);

開發者利用雲API開發應用,然後上傳到雲上託管,並提供給用戶使用,不關心雲背後的運維和管理,以及機器資源分配等問題。


計算機集羣中通常需要維持一個領導者的服務器,它負責進行集羣管理和調度等,因此集羣需要在啓動和運行等各個階段保證有一個領導者提供服務,並且在發生故障和故障恢復後能重新選擇領導者。


(4)分佈式Session的架構設計和實現

Tomcat等web服務器實現了分佈式session機制,但Tomcat等服務器session只是在單臺服務器環境上有效,不能滿足集羣多服務器的分佈式環境。需要藉助分佈式緩存系統實現。


(5)消息隊列的實現

Java制定了JMS標準來規範化MQ產品。


MQ:隊列和主題訂閱兩種核心模式;


(6)分佈式文件系統的實現


(7)


2、PS

(1)秒殺器:實際上市一個複雜的模擬HTTP交互的網絡通信軟件,它反覆和網站服務器交互HTTP報文,若發現報文參數不夠,會不斷變更報文直到通過。


(2)FTP:是文件上傳下載協議,不能用於獲取文件元數據信息,只支持兩臺計算機之間的文件傳輸。

HTTP:是一種通信協議,允許將HTML文檔從web服務器傳送到web瀏覽器。HTTP允許以二進制的方式上傳下載文件,但封裝在HTTP報文中,並指定特定的內容格式的方式。HTTP也只支持瀏覽器和web服務器兩者之間的文件內容的上傳下載,不能獲取文件元數據和管理文件元數據。


(3)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章