1. 程式人生 > >菜鳥教你如何通俗理解——>叢集、負載均衡、分散式

菜鳥教你如何通俗理解——>叢集、負載均衡、分散式


   網路的負載均衡是一種動態均衡技術,常見的實現方式是通過一些工具實時地分析資料包,掌握網路中的資料流量狀況,把任務合理均衡地分配出去。這種技術基於現有網路結構,提供了一種擴充套件伺服器頻寬和增加伺服器吞吐量的廉價有效的方法,加強了網路資料處理能力,提高了網路的靈活性和可用性。日常生活中到處都能看到“負載均衡”,一個超市的收營員高峰期只能服務10位顧客,當做活動時有20位顧客需要服務的話可能就會排長隊,這樣購物體驗將會很差(就像客戶抱怨系統/網站訪問太慢)。最簡單的辦法就是再招個營業員,重新開通一個出口。負載均衡的核心就是“分攤壓力”。

   大規模叢集,通常具備以下一些特點:

   (1)高可靠性(HA)

   利用叢集管理軟體,當主伺服器故障時,備份伺服器能夠自動接管主伺服器的工作,並及時切換過去,以實現對使用者的不間斷服務。

   (2)高效能運算(HP)

   即充分利用叢集中的每一臺計算機的資源,實現複雜運算的並行處理,通常用於科學計算領域,比如基因分析、化學分析等。

   (3)負載平衡(LB)

   即把負載壓力根據某種演算法合理分配到叢集中的每一臺計算機上,以減輕主伺服器的壓力,降低對主伺服器的硬體和軟體要求。

   當然,以上的這些特點,在某些適應場合下是需要同時具備的。常用的叢集又分以下幾種:

   load balance cluster(負載均衡叢集)

   一共有四兄弟開裁縫鋪,生意特別多,一個人做不下來,老是延誤工期,於是四個兄弟商量:老大接訂單, 三個兄弟來幹活。 客戶多起來之後,老大根據一定的原則(policy) 根據三兄弟手上的工作量來分派新任務。

   High availability cluster(高可用叢集)

   兩兄弟開早餐鋪,生意不大,但是每天早上7點到9點之間客戶很多並且不能中斷。為了保證2個小時內這個早餐鋪能夠保證持續提供服務,兩兄弟商量幾個方法:

   方法一:平時老大做生意,老二這個時間段在家等候,一旦老大無法做生意了,老二就出來頂上,這個叫做 Active/Standby.(雙機熱備)

   方法二:平時老大做生意,老二這個時候就在旁邊幫工,一旦老大無法做生意,老二就馬上頂上,這個叫做Active/Passive.(雙機雙工)

   方法三:平時老大賣包子,老二也在旁邊賣豆漿,老大有問題,老二就又賣包子,又賣豆漿,老二不行了,老大就又賣包子,又賣豆漿.這個叫做Active/Active (dual Active)(雙機互備)

   (包子= application package, 互相照應叫做heartbeat, 頂替對方工作叫做 failover/takeover. 如果兩個兄弟突然都瞎了聾了,不知道現在對方到底是否正在幹活,都認為自己要頂對方的工作,這個叫做brain-split, 然後需要第三者,比如他們的老爹來解決問題,這個叫做tier-breaker, 或者讓他們兩個的媳婦過來拉走其中一個,這個叫做fency。)

   high computing clustering(高效能運算叢集)

   10個兄弟一起做手工傢俱生意,一個客戶來找他們的老爹要求做一套非常複雜的仿古傢俱,一個人做也可以做,不過要做很久很久,為了1個星期就交出這一套傢俱,10個兄弟決定一起做。

   老爹把這套傢俱的不同部分分開交給兒子們作,然後每個兒子都在做木製傢俱的加工,最後拼在一起叫貨。

   老爹是scheduler任務排程器,兒子們是compute node. 他們做的工作叫做作業。

   (其實,還有一種,分散式儲存相關的叢集,應用於超大規模網站,雲端計算平臺等等。涉及點儲存方面的,這裡就不介紹了)

   嚴格來講,這些已經超過了一般開發人員的知識範疇了,想真正理解和掌握這些並不太容易,有時候需要真正的實踐而不是閉門造車。從運維人員和系統架構師的角度來看,不僅需要具備豐富的作業系統配置和管理的經驗,更要具備網路協議、儲存等相關的知識(懂演算法和底層的就更完美了)。從開發人員和軟體架構師的角度來看,需要考慮的重點又不同了。當然,遠遠不止我所提到的這些。現在的Web應用一般都比較依賴於基礎架構,而越來越脫離了”純軟體架構“的本質。叢集不是萬能的,但有時候確實相當有用。由於專案和工作關係,我本人目前主要使用的是微軟的技術體系(當然,目前大都是基於windows平臺的)。有機會的話,我可以將自己在這方面的研究和實踐分享出來,更希望有興趣的朋友在一塊分享和交流。

相關推薦

如何通俗理解——>叢集負載均衡分散式

   網路的負載均衡是一種動態均衡技術,常見的實現方式是通過一些工具實時地分析資料包,掌握網路中的資料流量狀況,把任務合理均衡地分配出去。這種技術基於現有網路結構,提供了一種擴充套件伺服器頻寬和增加伺服器吞吐量的廉價有效的方法,加強了網路資料處理能力,提高了網路的靈活性和可用性。日常生活中到處都能看到“負載均

連接數據庫!!!

實體 jsp dos命令 ice name imp alt 項目 實體類 一、我們建一個項目,項目名為(work)。 1、在src中,開始建一個entity包,裏面放了一個(Work)實體類; 2、在(Work)實體類中,定義sno,name,birt這三

如何通俗理解——>集群負載均衡分布式

windows 高峰 介紹 一點 一個人 bsp 科學 集群 ear 轉自:周洲 (Julie)   在“高並發,海量數據,分布式,NoSql,雲計算......”概念滿天飛的年代,相信不少朋友都聽說過甚至常與人提起“集群,負載均衡”等,但不是所有人都有機會真正接觸到這些技

dubbo高可用之zookeeper宕機Dubbo直連負載均衡服務降級叢集容錯

之前我們說了dubbo超時重試啟動檢查等配置,接下來我們說一下dubbo高可用的一些配置 1. zookeeper宕機 我們接下來討論一下如果zookeeper宕機對我們的服務提供者消費者有什麼影響 現象:zookeeper註冊中心宕機,還可以消費dubbo暴露的服務。 原因

正向代理反向代理負載均衡叢集

個人站點 :http://oldchen.iwulai.com/    正向代理代理客戶端 正向代理代替客戶端請求伺服器,隱藏了真實請求的客戶端, 常用事例:翻牆-用國外伺服器做正向代理,訪問Google,實現國內訪問Google。

VMWare搭多臺虛擬機器做叢集負載均衡主從資料庫一

最近一時興起,想搭建幾臺虛擬機器做負載均衡和資料庫主從等高階功能研究。不做安全性和其它考慮。這裡主要是為了以後測試高階的功能。 目前的想法是實現下面幾個功能: 1、負載均衡服務,能承受大量的併發訪問 2、分存式快取,以後多的東西肯定放快取裡面。 3、主從資料庫或者資料庫讀

Dubbo+Zookeeper架構—高階篇22-Dubbo叢集的配置(啟動時檢查負載均衡執行緒模式)

目錄 啟動時檢查 負載均衡 Random LoadBalance RandomLoadBalance 演算法  RoundRobin LoadBalance RandomLoadBalance 演算法 LeastActive LoadBalance Leas

什麼是分散式高併發叢集負載均衡高可用

網圖 是指將不同的業務分佈在不同的地方(應用伺服器)。 叢集cluster: 一群機器的集合。 負載均衡(叢集):(Load balance cluster, LBC) (負載均衡器)根據規則(平均)分配各請求到一個叢集各個機器。 高可用(叢集):(H

原始碼分析Dubbo Invoker概述----服務發現叢集負載均衡路由體系

Invoker,負載網路呼叫元件,底層依懶與網路通訊,Invoker主要負責服務呼叫,自然與路由(比如叢集)等功能息息相關,本節先從整體上把控一下Dubbo服務呼叫體系,服務發現、叢集、負載均衡、路由機制等整個知識體系,梳理整理Dubbo Invoker整個類圖

關於叢集負載均衡分散式的區別(轉)

1、Linux叢集主要分成三大類( 高可用叢集, 負載均衡叢集,科學計算叢集) 叢集是一個統稱,他分為好幾種,如高效能科學群集、負載均衡群集、高可用性群集等。 科學群集 、高效能叢集(High performance cluster,HPC)它是利用一個叢集中的多臺機器共同

叢集負載均衡分散式的區別與聯絡

下面就我的理解簡單通俗的介紹下三者的區別:1.叢集  叢集是個物理概念,是指同一個系統,部署在多臺伺服器上,將很多伺服器集中起來一起進行同一種服務,在客戶端看來就像是隻有一個伺服器。叢集可以利用多個計算

15套java互聯網架構師高並發集群負載均衡高可用數據庫設計緩存性能優化大型分布式 項目實戰視頻教程

二階 並發 支持 線程並發 important http 系統架構 四十 mongodb入門 * { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架構師、集群、高可用、高可擴

nginx反向代理tomacat+keepalived實現動靜分離負載均衡高可用

時間 超時 error css 權限命令 上傳 轉發 onf ioc 本文的動靜分離主要是通過nginx+tomcat來實現,其中nginx處理圖片、html、JS、CSS等靜態文件,tomcat處理jsp、servlet等動態請求 服務器名稱

分布式集群負載均衡高可用的概念

活性 百萬 ava RF lan 最好 壓力 消息傳遞 我們 分布式(不一定有集群):   是指將不同的業務分布在不同的地方(應用服務器)。 集群cluster: 一群機器的集合。 負載均衡(集群):(Load balance cluster, LBC)

【轉】 集群負載均衡分布式的區別與聯系

利用 for 均衡集 通過 兩個 聽說 登錄 獲得 混合 下面就我的理解簡單通俗的介紹下三者的區別: 1.集群 集群是個物理概念,是指同一個系統,部署在多臺服務器上,將很多服務器集中起來一起進行同一種服務,在客戶端看來就像是只有一個服務器。集群可以利用多個計算機進行並行計

正向代理負載均衡反向代理

讓我 bubuko com gin 必須 代理技術 轉發 請求轉發 特點 1、正向代理 假設我們需要使用自己的筆記本(A)訪問國外的站點(B),由於網絡限制,我們無法訪問國外的站點.但是此時我們有一臺服務器(C)跳出了網絡限制可以訪問國外站點,那麽我們可以通過正向代理技術,

Nginx反向代理負載均衡動靜分離快取壓縮防盜鏈跨域訪問

一、反向代理 1、在192.168.189.130機器啟動tomcat服務,http://192.168.189.130:8080/ 訪問服務正常 2、在192.168.189.131機器配置nginx server { listen 80; serve

Nginx反向代理負載均衡動靜分離緩存壓縮防盜鏈跨域訪問

什麽 delete block fault 避免 user 源文件 event methods 一、反向代理 1、在192.168.189.130機器啟動tomcat服務,http://192.168.189.130:8080/ 訪問服務正常 2、在192.168.189.

flume高階配置——資料流的複製分流負載均衡故障轉移

一、在前面幾篇文章中介紹過幾種常見的flume pipeline 場景。我們在回顧一下,主要有一下幾種: 1、多個 agent 順序連線: 可以將多個Agent順序連線起來,將最初的資料來源經過收集,儲存到最終的儲存系統中。這是最簡單的情況,一般情況下,應該控制這種順

Tomcat一步步實現反向代理負載均衡記憶體複製

Tomcat是一個開源的Java EE伺服器,想弄明白其中原理還有很長路要走,但是對於有Apache,Nginx經驗的我們來說部署它還是沒有問題的,下面我們來一步步的構建這些基本的功能吧。 實驗環境:rhel 5.8,SElinux已經關閉 一.構建一個基