關于高并發、分布式、集群和云計算

高并發(high currency):互聯網分布式系統結構設計中必須考慮的因素之一,指通過設計保證系統能夠同時并發處理很多請求。在某個時間點,有多少個訪問同時到來。

一、常用指標:

響應時間、吞吐量、每秒查詢量QPS(query per seconde),并發用戶數等

【響應時間:系統對請求做出響應的時間(如系統處理一個http請求需要200ms,就是響應時間)

QPS:每秒響應請求數

并發用戶數:同時承載正常使用系統功能的用戶數量。(如一個即時通訊系統,同時在線量也代表了系統的并發用戶數)】

二、提高系統并發能力的方式:垂直擴展和水平擴展

垂直擴展:提升單機處理能力。

又分為兩種:(1)增強單機硬件性能(例如:增加CPU核數如32核,升級更好的網卡如萬兆,升級更好的硬盤如SSD,擴充硬盤容量如2T,擴充系統內存如128G;)

(2)提升單機架構性能,例如:使用Cache來減少IO次數,使用異步來增加單服務吞吐量,使用無鎖數據結構來減少響應時間;

水平擴展:增加服務器數量,可線性擴充系統性能。


三、其他

1、處理高并發的業務邏輯是:

前端:異步請求+資源靜態化+cdn

后端:請求隊列+輪詢分發+負載均衡+共享緩存

數據層:redis緩存+數據分表+寫隊列

存儲:raid陣列+熱備

網絡:dns輪詢+DDOS攻擊防護

2、學習高并發的工具:redis、nginx/Tengine、keeplive、DRBD、heartbeat在虛擬機上跑




一、分布式:工作方式。 即一個業務拆分為多個子業務,部署在不同的服務器上。

最簡單的分布式就是大家最常用的,在負載均衡服務器后加一堆web服務器,然后在上面搞一個緩存服務器來保存臨時狀態,后面共享一個數據庫,其實很多號稱分布式專家的人也就停留于此,大致結構如下圖所示:

分布式的每一個節點,都可以用來做集群。而集群不一定就是分布式了。

二、集群:物理形態。即同一個業務,部署在多個服務器上,可以視為一臺計算機。

1、多臺服務器組成的一組計算機,作為一個整體存在,向用戶提供一組網絡資源,這些單個的服務器就是集群的節點。

2、兩個特點:

可擴展性:集群中的服務節點,可以動態的添加機器,從而增加集群的處理能力。

高可用性:如果集群某個節點發生故障,這臺節點上面運行的服務,可以被其他服務節點接管,從而增強集群的高可用性。

3、常用的集群分類

1.高可用集群(High Availability Cluster)

高可用集群,普通兩節點雙機熱備,多節點HA集群。

2.負載均衡集群(Load Balance Cluster)

常用的有 Nginx 把請求分發給后端的不同web服務器,還有就是數據庫集群,負載均衡就是,為了保證服務器的高可用,高并發。

3.科學計算集群(High Performance Computing Cluster)

簡稱HPC集群。這類集群致力于提供單個計算機所不能提供的強大的計算能力。

4、兩大能力

負載均衡:負載均衡能把任務比較均衡地分布到集群環境下的計算和網絡資源。

集群容錯:當我們的系統中用到集群環境,因為各種原因在集群調用失敗時,集群容錯起到關鍵性的作用。


三、云計算平臺:一個云計算平臺,就是通過一套軟件系統把分布式部署的資源集中調度使用。要應對大并發,要實現高可用,既需要分布式,也離不開集群。

四、分布式運用場景:分布式系統有很多種,比如分布式文件系統,分布式數據庫,分布式WebService,分布式計算等等,場景不同,運用的分布式思路也不同。

分布式架構的思路主要是:水平擴展和垂直擴展

1、水平擴展(完全平分)

舉例子:假設我們有一臺服務器,它可以承擔1百萬/秒的請求,這個請求可以的是通過http訪問網頁,通過tcp下載文件,jdbc執行sql,RPC調用接口…,現在我們有一條數據的請求是2百萬/秒,很顯然服務器hold不住了,會各種拒絕訪問,甚至崩潰,宕機,怎么辦呢。

一臺機器解決不了的問題,那就兩臺。所以我們加一臺機器,每臺承擔1百萬。如果請求繼續增加呢,兩臺解決不了的問題,那就三臺唄。

這種方式我們稱之為水平擴展。如何實現請求的平均分配便是負載均衡了。

2、垂直擴展:(按功能分)

另一個栗子,我們現在有兩個數據請求,數據1請求90萬,數據2請求80萬,上面那臺機器也hold不住,我們加一臺機器來負載均衡一下,每臺機器處理45萬數據1和40萬數據2,但是平分太麻煩,不如一臺處理數據1,一臺處理數據2,同樣能解決問題,這種方式我們稱之為垂直拆分

五、分布式技術:

1.分布式系統的架構體系

  基于對象的體系機構

  面向服務的架構(SOA)

  REST風格的架構

  微服務架構(MSA)

  容器技術

  Serverless架構

2.分布式消息服務

  Apache ActiveMQ

? ? ? RabbitMQ

  RocketMQ

  Apache Kafka

3.分布式計算

  MapReduce

Apache Hadoop

  Apache Spark

  Apache Mesos

4.分布式存儲

  Bigtable

  Apache HBase

  Apache Cassandra

  Memcached

  Redis

  MongoDB

5.分布式監控

  Nagios

  Zabbix

  Consul

  Zookeeper

6.分布式的版本控制

  Bazaar

  Mercurial

  Git

7.RESTfulAPI、微服務及容器技術

  Jersey

  Spring boot

  Docker


常用分布式互聯網系統,使用較多的是zookeeper+dubbo組合,而Springboot推薦使用全棧Spring,就是Springboot+SpringCloud。

Cloud與Dubbo的區別,Dubbo解決的就是遠程過程調用的RPC服務,而Cloud更全面,它有一整套的分布式需要的對應的解決方案:配置管理、服務發現、熔斷、路由、微代理、控制總線、一次性token、全局鎖、leader選舉、分布式session、集群狀態。所以使用Cloud可以更快速的與云平臺進行對接。

SpringCloud五大常用組件:

服務發現-Netflix Eureka

客服端負載均衡-Netflix Ribbon

斷路器-Netflix Hystrix

服務網關-Netflix Zuul

分布式配置-SpringCloudConfig

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,401評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,011評論 3 413
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,263評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,543評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,323評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,874評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,968評論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,095評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,605評論 1 331
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,551評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,720評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,242評論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,961評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,358評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,612評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,330評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,690評論 2 370

推薦閱讀更多精彩內容