1. 互聯(lián)網(wǎng)項目架構(gòu)演變
隨著訪問量上升,大部分使用MySQL架構(gòu)的網(wǎng)站在數(shù)據(jù)庫上都開始出現(xiàn)性能問題,Web程序不能再僅僅專注在功能上,同時也在追求性能。開始使用緩存技術(shù)緩解數(shù)據(jù)庫壓力,優(yōu)化數(shù)據(jù)庫的結(jié)構(gòu)和索引。剛開始時比較流行的是通過文件緩存來緩解數(shù)據(jù)庫壓力,但是當(dāng)訪問量繼續(xù)增大,文件緩存中的數(shù)據(jù)不能在多臺Web服務(wù)器之間共享,大量的小文件IO也帶來了比較高的IO壓力。在這種情況下,Memcache就成了一款非常有效的解決方案。
Memcache作為一個獨立的分布式緩存服務(wù)器,為多個Web服務(wù)器提供了一個共享的高性能緩存服務(wù),在Memcache服務(wù)器上,又發(fā)展了根據(jù)hash算法來進行多臺Memcache緩存服務(wù)的擴展,然后又出現(xiàn)了一致性hash來解決增加或減少緩存服務(wù)器導(dǎo)致重新hash帶來的大量緩存失效問題。
由于數(shù)據(jù)庫的寫入壓力增加,Memcached只能緩解數(shù)據(jù)庫的讀取壓力。讀寫集中在一個數(shù)據(jù)庫上讓數(shù)據(jù)庫不堪重負(fù),大部分網(wǎng)站開始使用主從復(fù)制技術(shù)來達到讀寫分離,以提高讀寫性能和讀庫的可擴展性。Mysql的master-slave模式成為這個時候的網(wǎng)站標(biāo)配了
在Memcached的高速緩存,MySQL的主從復(fù)制,讀寫分離的基礎(chǔ)之上,這時MySQL主庫的寫壓力開始出現(xiàn)瓶頸,而數(shù)據(jù)量的持續(xù)猛增,由于MyISAM使用表鎖,在高并發(fā)下會出現(xiàn)嚴(yán)重的鎖問題,大量的高并發(fā)MySQL應(yīng)用開始使用InnoDB引擎代替MyISAM。
同時,開始流行使用分表分庫來緩解寫壓力和數(shù)據(jù)增長的擴展問題。這個時候,分表分庫成了一個熱門技術(shù),是業(yè)界討論的熱門技術(shù)問題。也就在這個時候,MySQL推出了還不太穩(wěn)定的表分區(qū),這也給技術(shù)實力一般的公司帶來了希望。雖然MySQL推出了MySQL Cluster集群,但性能也不能很好滿足互聯(lián)網(wǎng)的要求,只是在高可靠性上提供了非常大的保證。
MySQL數(shù)據(jù)庫也經(jīng)常存儲一些大文本字段,導(dǎo)致數(shù)據(jù)庫表非常的大,在做數(shù)據(jù)庫恢復(fù)的時候就導(dǎo)致非常的慢,不容易快速恢復(fù)數(shù)據(jù)庫。比如1000萬4KB大小的文本就接近40GB的大小,如果能把這些數(shù)據(jù)從MySQL省去,MySQL將變得非常的小。關(guān)系數(shù)據(jù)庫很強大,但是它并不能很好的應(yīng)付所有的應(yīng)用場景。MySQL的擴展性差(需要復(fù)雜的技術(shù)來實現(xiàn)),大數(shù)據(jù)下IO壓力大,表結(jié)構(gòu)更改困難,正是當(dāng)前使用MySQL的開發(fā)人員面臨的問題。
現(xiàn)在的互聯(lián)網(wǎng)架構(gòu):
目前互聯(lián)網(wǎng)的新要求:3V和3高
大數(shù)據(jù)時代的3V
Volume:海量,數(shù)據(jù)量極大
Variety:多樣
數(shù)據(jù)類型:文本、圖片、音頻、視頻……
終端設(shè)備:PC、移動端、嵌入式設(shè)備……
Velocity:實時
直播,金融證券……
互聯(lián)網(wǎng)時代的3高
高可擴
不斷優(yōu)化現(xiàn)有的功能,不斷開發(fā)新的功能;
高性能
不能讓用戶感覺到等待的時間;
高并發(fā)
同時處理并發(fā)請求的能力,如雙十一的秒殺、搶購火車票;
提升硬件,優(yōu)化系統(tǒng),優(yōu)化項目,將費時的操作進入異步處理;
相關(guān): 突然失去工作,想轉(zhuǎn)行去學(xué)習(xí)IT還來得及嗎?IT工作如何——大數(shù)據(jù)培訓(xùn)課程之Storm集群部署配置集群
本文鏈接:
本文章“Java培訓(xùn)課程之Redi入門”已幫助 300 人
免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識產(chǎn)權(quán)侵權(quán)的法律責(zé)任!
本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機構(gòu)》培訓(xùn)課程》學(xué)習(xí)資訊》課程優(yōu)惠》課程開班》學(xué)校地址等機構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢熱線:4008-569-579