大型技术网站的技术( 高并发、大数据、高可用、分布式....)(一)
面對高并發、大流量、高可用、海量數據、用戶分布廣泛、網絡情況復雜這類網站系統我們如何應對???
?
第一階段 ? 一臺服務器不行就上多臺服務器
? ?1.應用程序與數據服務分離
? ? ? ?將應用程序、數據庫、文件等資源放在一臺服務器上,面對海量用戶的訪問只可能是崩崩崩的掛掉。
? ?so?
? ? ? 我們知道的是應用服務器、數據庫服務器、文件服務器這三塊對服務器的要求是不同的,應用服務器就需要大大的CPU來處理復雜的業務邏輯,數據庫服務器需要快速磁盤檢索 ? ? ?和 數據緩存也就是要大內存,而文件服務器要求的是更快更大的內存(上SSD吧)。
? ?2.來吧 服務器集群
? ? ? ? ? 這里就用到負載均衡了。將用戶的訪問請求給它分發到服務器集群中的任何一臺服務器,如果用戶多了就多增加服務器唄,這不就改善了服務器的負載壓力了嗎?想想谷歌的 ? ? ? ? 服務器。用戶辣么多,越來越多,那就上更多的應用服務器,這樣應用服務器就不會成為網站系統的瓶頸了。
第二階段 ? ? 你光上硬件這樣很成本高啊,來點技術的方式吧
? ? ? ? ?1.上緩存
? ? ? ? ? ?大部分用戶的業務訪問集中在一小部分數據上,辣么我們就可以把這小部分數據放在內存中,你要用就從內存中拿這樣的話,數據庫的壓力就小很多了,系統響應速度也就快 ? ? ? ? 了。
? ? ? ? ?緩存又分為本地緩存和遠程分布式緩存,本地緩存肯定快啊,但你應用服務器的內存畢竟有限,緩存的數據量有限,所以三思啊。遠程分布式緩存,部署專門的大內存服務器 ? ? ? ? ?為緩存服務器,這樣來吧用戶你來把,我內存大不怕。
? ? ? ? ? 問題又來了,你數據訪問沒問題了,但你單一服務器處理的請求連接是有限的啊,在網站訪問高峰期你就壓力山大了,但是前面部署弄了服務器集群嗎?所以不是問題。
? ? ? ? 2.將數據庫的讀寫分離
? ? ? ? ? ? 配置兩臺數據庫的主從關系,一臺專門讀,一個專門寫。但是這個數據的同步還是比較麻煩的。
? ? ? ? 3.反向代理服務器
? ? ? ? ? ? 本質就是緩存,請求來了,我這個反向代理服務器中有,就直接給你返回。
? ? ? ??4.花樣繁多的分布式
? ? ? ? ? ? 拆分數據庫放,拆分文件系統等等。。。
轉載于:https://www.cnblogs.com/boy4j/p/7591915.html
總結
以上是生活随笔為你收集整理的大型技术网站的技术( 高并发、大数据、高可用、分布式....)(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求妈妈歌词。
- 下一篇: python之路——模块和包