偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

原騰訊云架構(gòu)師談可擴展系統(tǒng)的入門基礎(chǔ)

云計算
隨著智能設備的普及使得高并發(fā)場景越來越多,可擴展成為系統(tǒng)設計的必要條件,下面分別介紹下可擴展系統(tǒng)的四個重要組成部分

肖立鵬原來在騰訊云做架構(gòu)師,目前在Udesk擔任CTO職位。下面是他分享的Udesk在可擴展高并發(fā)架構(gòu)方面的一些實踐經(jīng)驗。

隨著智能設備的普及使得高并發(fā)場景越來越多,可擴展成為系統(tǒng)設計的必要條件,下面分別介紹下可擴展系統(tǒng)的四個重要組成部分

一、負載均衡——可擴展性&冗余容錯

水平擴展:負載能力和增加硬件呈線性關(guān)系。如果你有一臺服務器并增加一臺,負載能力翻 倍,再增加一臺,負載能力增長33%。

冗余容錯:一臺服務器死機不會影響服務的正確性,只是降低系統(tǒng)的負載能力。

一般的冗余和水平擴展等,都可以通過負載均衡來實現(xiàn)。主要有3種實現(xiàn)方法:

  1. 客戶端負載均衡:這里的客戶端是廣義的客戶端,例如服務a調(diào)用服務b,我們認為服務a是客戶端??蛻舳伺渲胣個服務端的地址,采取 Round-Robin或者其他隨機策略訪問服務端。優(yōu)點是編碼實現(xiàn)簡單;缺點是變更困難,服務端遷移需要升級所有客戶端配置,當然你可以搭建配置服務,這個服務本身也是單點,然后為配置服務實現(xiàn)負載均衡……
  2. 硬件負載均衡:購買專用的負載均衡器,例如Citrix NetScaler。優(yōu)點:性能卓越; 缺點:昂貴,高富帥專用。
  3. 軟件負載均衡:通過路由分發(fā),心跳探測等方法,實現(xiàn)軟件層面的負載均衡,典型的開源組件有:LVS,Nginx和HAProxy等。目前大多數(shù)互聯(lián)網(wǎng)公司均采用軟件負載均衡。

二、數(shù)據(jù)緩存

緩存是一個系統(tǒng)中性能提升的關(guān)鍵。主要有5種實現(xiàn)方法:

應用層:應用自己在本地內(nèi)存或其他介質(zhì)中緩存部分數(shù)據(jù),一般通過LRU算法淘汰。

數(shù)據(jù)庫層:數(shù)據(jù)庫引擎自身的緩存,需要DBA來配置優(yōu)化,當然現(xiàn)在也有不少NoSQL的緩存+存儲解決方案如MongoDB、帶HandlerSocket插件MySQL、ttserver等。數(shù)據(jù)庫緩存的好處是應用側(cè)代碼不需要更改。

內(nèi)存緩:目前的主流解決方案,代表有MemCached和Redis,Redis的優(yōu)點是數(shù)據(jù)結(jié)構(gòu) 豐富,可以輕松支持排名等場景,缺點是單進程實現(xiàn)導致持久化方案不夠***,今年4月Redis Cluster終于迎來了***個穩(wěn)定版本,可以實現(xiàn)數(shù)據(jù)自動sharding和容錯,穩(wěn)定性有待后續(xù)檢驗。

網(wǎng)頁緩存:在Apache等HTTP服務器上,配置full-page cache等策略。

CDN:對于靜態(tài)文件,一般采用CDN來加速。

使用緩存的過程中,必須要注意緩存有效性,在數(shù)據(jù)源更新后,要及時更新緩存中的數(shù)據(jù)。目前主要有read-through和write-through兩種策略,采用write-through的多些。

三、離線處理

對搜索引擎,廣告推薦等數(shù)據(jù)分析類場景,必須對數(shù)據(jù)做離線處理。主要有3種主流的實現(xiàn)方法:

  1. 定期任務:每天每小時的任務,使用crontab或者其他cron服務來調(diào)度。
  2. 并行計算:采用MapReduce,其它主流開源組件有Hive,Impala等。
  3. 消息隊列:任務排隊,并發(fā)處理等,主流開源組件有RabbitMQ,Kafka。

四、平臺建設

提供給應用的,不是一堆組件,而是一組API,把底層架構(gòu)隱藏起來。這樣有兩個主要的好 處:

底層架構(gòu)重用,可支撐多應用,運營更方便。

應用和底層架構(gòu)解耦合,底層架構(gòu)可自我演進,是Scale的必備基礎(chǔ)。

原文鏈接:http://segmentfault.com/a/1190000002785846

責任編輯:Ophira 來源: segmentfault
相關(guān)推薦

2011-11-01 09:02:26

系統(tǒng)架構(gòu)師

2011-10-31 09:22:07

系統(tǒng)架構(gòu)

2010-08-05 13:51:13

軟件架構(gòu)師

2012-10-25 17:48:15

Fourinone云計算架構(gòu)師峰會

2011-10-24 09:26:42

系統(tǒng)架構(gòu)師

2011-10-20 09:06:36

系統(tǒng)架構(gòu)師

2011-10-21 09:04:57

系統(tǒng)架構(gòu)師

2011-10-19 09:20:44

2011-10-18 09:25:04

系統(tǒng)架構(gòu)師

2011-10-27 09:08:59

系統(tǒng)架構(gòu)師

2011-11-02 09:01:30

系統(tǒng)架構(gòu)師

2011-03-11 15:38:08

Java

2011-11-09 13:46:51

可擴展架構(gòu)

2012-10-26 01:03:59

2012-02-02 10:23:07

2011-10-25 08:59:28

系統(tǒng)架構(gòu)師

2011-10-26 09:43:13

系統(tǒng)架構(gòu)師

2023-03-31 09:44:20

云計算架構(gòu)

2009-06-30 16:34:44

微軟
點贊
收藏

51CTO技術(shù)棧公眾號