您好,登錄后才能下訂單哦!
CPU:中央處理器,是一個計算機的運算核心和控制核心,他的主要功能是解釋計算機指令以及處理計算機軟件中的數(shù)據(jù)。
中央處理器主要包括:運算器 高速緩沖存儲器
(ALU) (cache)
內(nèi)存:內(nèi)存(內(nèi)存儲器)可用于存儲數(shù)據(jù),由于是電子部件,內(nèi)存中數(shù)據(jù)會在斷電后消失,存取速度快,容量相對較小。
硬盤:是計算機的主要外部存儲器,可分為機械硬盤和固態(tài)硬盤,可以永久的保留數(shù)據(jù),但是速度相對較慢,容量大
1.高并發(fā)寫入
將需要寫入的數(shù)據(jù)優(yōu)先存在內(nèi)存之中,當內(nèi)存中的數(shù)據(jù)達到一定數(shù)量時,再將數(shù)據(jù)全部寫入到磁盤之中
優(yōu)點:利用內(nèi)存的速度優(yōu)勢,可以加快寫入速度,提高用戶體驗,在高并發(fā)的情況下十分適用
缺點:內(nèi)存只能臨時存儲數(shù)據(jù),如果斷電,數(shù)據(jù)全部丟失
解決方案:
1.主板裝電池,在斷電后支持快速將數(shù)據(jù)寫入硬盤,
以便恢復(fù)
2.使用(不間斷電源)UPS電源
3.選用雙電路機房
2高讀取
將硬盤中熱點數(shù)據(jù)寫入內(nèi)存之中,方便用戶讀取,提高訪問友好度。
將需要存儲的外部數(shù)據(jù)直接存入硬盤之中,再讀取到內(nèi)存之中,以備訪問之用。
優(yōu)點:熱點數(shù)據(jù)在內(nèi)存之中,用戶讀取速度快,增加了用戶體驗,同時也減小了服務(wù)
器的IO壓力。
Tips:將數(shù)據(jù)寫入內(nèi)存,這部分被使用的內(nèi)存稱之為 緩沖區(qū)(Buffer)
從內(nèi)存中讀取預(yù)存的數(shù)據(jù),這部分被使用的內(nèi)存稱之為 緩存區(qū)(cache)
3.目前大部分網(wǎng)站的IO比例 Input : Output = 1 : 10,即大部分網(wǎng)站均是以用戶讀取其內(nèi)容
為主,寫入數(shù)據(jù)的比例不大,在架構(gòu)及優(yōu)化時,應(yīng)以高讀取
的方案進行,具體案例具體分析。
4.多臺機器集群內(nèi)存緩存架構(gòu)(以軟件形式): memcache (純內(nèi)存) redis(內(nèi)存與磁盤結(jié)合)
1.分類: 機械硬盤 ,固態(tài)硬盤
2.接口類型:IDE , SCSI
SAS : 價格較貴轉(zhuǎn)速相對較高,同等價位容量較小。
SATA :價格最低,同等價位容量最大,速度慢。
SSD(固態(tài)硬盤):價格最貴,同等價位容量最小,速度最快。
3.按照工作環(huán)境的硬盤選擇
(1)常規(guī)工作環(huán)境: SAS 速度,容量與價格兼顧的良好選擇
(2)線下備份或內(nèi)部工作環(huán)境: SATA 容量大,且對硬盤速度要求不高。
(3) 高并發(fā),且數(shù)據(jù)量少: SDD 速度快,但價格貴,適用于極端生產(chǎn)環(huán)境。
4.RATD
磁盤陣列(Redundant Arrays of IndependentDisks), 有‘獨立磁盤構(gòu)成的具有榮譽能力的陣列’之意。
磁盤陣列是由很多價格便宜的磁盤,組成一個容量為所有磁盤之和的大磁盤,利用個別磁盤提供數(shù)據(jù)所產(chǎn)生加成效果提升整個磁盤的系統(tǒng)效能。
(1)實現(xiàn)形式 : 硬RAID :通過 RAID卡 實現(xiàn),價格較貴,效率高,安全
軟RAID :通過軟件模擬實現(xiàn),價格低廉,對降低系統(tǒng)效率,并且
在軟件出現(xiàn)問題時,會影響數(shù)據(jù)安全
(2)RAID 分類 :
RAID 0 條帶化(Data Stripping) 將多個磁盤整合為一個磁盤。
在整合后單個磁盤的讀取數(shù)據(jù)方式并沒有發(fā)生變化,但是整個磁盤陣列的數(shù)據(jù)讀取方式變得十分有趣。首先,每個磁盤都被以合理的大小分割為很多個block,且每個磁盤的分割情況必須一樣。在數(shù)據(jù)寫入的時候?qū)?shù)據(jù)依次寫入三個磁盤,即三個數(shù)據(jù)塊 [block1]
[block2] [block3] ,第一塊磁盤寫入[1],第二塊磁盤寫入[2],第三塊寫入[3],依次類推,直至數(shù)據(jù)寫完。
在從磁盤陣列讀取數(shù)據(jù)時,同時讀取磁盤陣列中的第一個block,那么用了讀取一個block的時間,讀取了N個block (N 為磁盤陣列中的磁盤數(shù)量)。 這樣數(shù)據(jù)的讀取速度就加快了N陪。
由于RAID 0 只是多個硬盤進行了整合,沒有做冗余處理,那么其中一塊硬盤出錯,整個陣列就會出現(xiàn)問題。所以RAID 0 的可靠性為一塊磁盤的1/N ,可靠性大大降低
速度:單個磁盤的N倍
容量:單個磁盤的N倍
可靠性:單個磁盤的1/N
適用場景:只是在對那些對數(shù)據(jù)安全性要求不高的場景使用
RAID 1 鏡像 把一個磁盤的數(shù)據(jù)鏡像到另一個磁盤上,作為冗余
在RAID 1中,數(shù)據(jù)進行寫入一塊磁盤時,也會同時寫入另一塊作為鏡像的磁盤中。當正在被使用的磁盤發(fā)生問題,系統(tǒng)會拋棄他,轉(zhuǎn)而去它的鏡像磁盤讀取數(shù)據(jù),這是將壞掉的磁盤更換即可。這樣數(shù)據(jù)的安全性大大增加,但是成本也隨之增加,磁盤利用率為50%,下降一半。
在更換磁盤后,系統(tǒng)會對原有數(shù)據(jù)進行同步,需要一定時間,在同步期間會影響系統(tǒng)的IO效率。
速度 :不變
容量 :所有磁盤的50%
可靠性: 大大增加
使用場景: 數(shù)據(jù)重要,數(shù)據(jù)量不大
RAID 5 分布式奇偶校驗的獨立磁盤結(jié)構(gòu)
RAID 5 在結(jié)構(gòu)上與RAID 0 類似,將磁盤條帶化,有很高的讀取速度。在寫入數(shù)據(jù)時,會在每塊磁盤上都寫入奇偶校驗信息,因此會造成寫損失。在從磁盤陣列讀取信息的時候會進行校驗數(shù)據(jù)是否出錯。當一塊磁盤出錯的時候,更換新磁盤后,可以通過其他磁盤的數(shù)據(jù)和奇偶校驗信息,經(jīng)過計算恢復(fù)其數(shù)據(jù)。
速度:N塊磁盤之和
容量: 略小于N塊磁盤
可靠度: 在一塊磁盤出錯時,可修復(fù):有奇偶校驗碼,可糾錯
RAID 10 (先1 后 0) 先鏡像,再條帶化
RAID 10既是RAID 1 與 RAID 0 的結(jié)合產(chǎn)物。先對每一塊磁盤進行鏡像處理(RAID 1),然后將每個形成的RAID 1 做條帶化(RAID 0)。這樣總體來看整個磁盤陣列是 RAID 0的形式,而且每一塊磁盤都有做鏡像處理。那么即擁有了RAID 0 高速的讀取速度,又擁有了RAID 1 的高數(shù)據(jù)安全性。RAID 10的不足之處也顯而易見,磁盤利用率低,導致價格較高。
速度:N塊硬盤之和
容量:50%
可靠度: 有 RAID 0的支持,可高度高
5.企業(yè)中PC服務(wù)器主要品牌
DELL(大部分企業(yè)),HP,IBM(去IOE 估計不會再有人用了)
DELL PC服務(wù)器型號
2010-2013:1u R410 R610
2u R710
2014-2015:1u R420 R430 R620 R630
2u R720
對于這部分內(nèi)容 我會在之后的過程中關(guān)注,《大型網(wǎng)站技術(shù)架構(gòu)分析》《淘寶這10年》這2本書將會作為我的參考書籍。
在大學我的專業(yè)是軟件工程專業(yè),as you know,是個理科專業(yè),但是我覺得將其成為工科更為合適,動手做的學科。學習C語言,把變量,指針,函數(shù),數(shù)組的概念你都記得滾瓜爛熟,理解的不能再透徹,還是沒用 。只是理解了書面知識,你上手編程還是啥都不會。
所以 練 才是最有意義的,在練的時候遇到問題要 想,思考問題出現(xiàn)在哪里,結(jié)合書本知識。之后,分享和 討論。這樣才能加深你只是的廣度和寬度,是對你最有利的。
而在學習的過程中要克服的就是懶惰。懶惰并不是一種病,而是你對理想的懈怠,對未來的不負責任。既然選擇了就要堅持下去,別無他路。
我的興趣就在Linux這部分,對于服務(wù)器的后臺系統(tǒng)架構(gòu)有濃厚的興趣,所以我有理由相信我可以做到。對自己抱有信心是非常重要的。
寫到這,還要感謝一下我的 操作系統(tǒng) 老師,蔡青松博士。這寫東西都是我在他身上認識到的,Linux也是通過它了解到的。正如他所說:“現(xiàn)在的學生都是狗屎,啥都不會”這句話其實是對我們最好的激勵,既然不會,就學會!
看起來這段話并不像學習思想總結(jié),好像不是很正式的樣子,當時我覺得表達出自己的思想就要說出自己想的東西。如果真的弄得條條框框,什么 努力,堅持,信心之類,就沒意思了。
Unix是用90%的C語言和10%匯編語言混合編寫的,因此對于硬件平臺的移植時還是需要更改代碼,因此各個公司都推出了針對自家機型的Unix系統(tǒng);
到了AT&TSystem V第七版時,終于推出了針對X86的Unix,因此終于能夠在個人計算機上安裝Unix,但是有一條規(guī)定:“不能向?qū)W生公開源碼”,因此Tanebaum教授就不看Unix源碼,編寫了兼容Unix的針對X86的Minix操作系統(tǒng);
四.因為Minix只是教學使用,因此功能并不強,因此Torvalds利用GNU的bash當做開發(fā)環(huán)境,gcc當做編譯工具,編寫了Linux內(nèi)核-v0.02,但是一開始Linux并不能兼容Unix,即Unix上跑的應(yīng)用程序不能在Linux上跑,即應(yīng)用程序與內(nèi)核之間的接口不一致,因為Unix是遵循POSIX規(guī)范的,因此Torvalds修改了Linux,并遵循POSIX(PortableOperating System Interface,他規(guī)范了應(yīng)用程序與內(nèi)核的接口規(guī)范);
一開始Linux只適用于386,后來經(jīng)過全世界的網(wǎng)友的幫助,最終能夠兼容多種硬件;
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。