摘要:阿里云哪個節點服務器好一下看看負載均衡它是對多臺云服務器進行流量分發的負載均衡服務,讓整個服務器群來處理網站的請求。負載均衡支持億級連接和千萬級并發,可輕松應對大流量訪問,滿足業務需求。原文流量大的網站如何處理高并發流量問題
很多平臺一旦做大了,平臺的流量就會陡增,同時并發訪問的流量也會暴增,原本規劃的硬件配置就無法滿足當下的流量問題。
那么如何處理好高并發的流量問題呢?小編將這些分為2個方面:架構層面和網站本地項目層面。
一、架構層面 1、硬件升級假設一臺服務器最多能支持每天10萬獨立IP,如果訪問量增大的話,那么必須升級這臺服務器的配置才能解決問題,否則怎么優化都不可能徹底解決性能問題。
這對于企業用戶來說不是問題,買就是了。
為了避免采購浪費,建議先對服務器做一下壓力測試,看看到底能支持多少訪問量。
詳細參考《怎么做服務器壓力測試?》
建議使用:
阿里云服務器ECS,阿里云的口碑不用說了,最主要的是可以彈性擴展升級。
2、負載均衡阿里云哪個節點服務器好?ping一下看看:https://ping.gaomeluo.com/aliyun/
它是對多臺云服務器進行流量分發的負載均衡服務,讓整個服務器群來處理網站的請求。負載均衡支持億級連接和千萬級并發,可輕松應對大流量訪問,滿足業務需求。
一般有錢的公司,可以購買專門負責負載均衡的硬件,效果肯定會很好。
但是對于大部分公司,會選擇廉價有效的方法擴展整個系統的架構,來增加服務器的吞吐量和處理能力,以及承載能力。通常會選擇相對成熟的成品架構,比如:阿里云的負載均衡SLB
3、服務器集群詳細可參考《阿里云負載均衡SLB怎么用》
服務器集群就是指將很多服務器集中起來一起進行同一種服務,在客戶端看來就像是只有一個服務器。集群可以利用多個計算機進行并行計算從而獲得很高的計算速度,也可以用多個計算機做備份,從而使得任何一個機器壞了整個系統還是能正常運行。
如果你的企業、平臺夠大,那么完全可以自己來搞集群。但是對于一遍企業來講,這種服務器框架耗錢、耗時、耗力。好在現在云服務廠商都提供了集群服務器,比較有名的就是阿里云集群。這也給企業省去不少人力、時間成本。
4、分布式結構詳細可參考《如何搭建阿里云集群服務器》
分布式結構就是將一個完整的系統,按照業務功能,拆分成一個個獨立的子系統,在分布式結構中,每個子系統就被稱為“服務”.這些子系統能夠獨立運行在web容器中,它們之間通過RPC方式通.
好處就是系統之間的耦合度大大降低,可以獨立開發、獨立部署、獨立測試,系統與系統之間的邊界非常明確,排錯也變得相當容易,開發效率大大提升。
提示一下:負載均衡:
是一種優化手段,目的是為了讓集群中的每臺機器的負載保持均衡,這樣就不會出現集群中某臺機器掛了的情況;
集群:
多臺機器做相同的業務,對外如一臺機器在做事情一樣,集群中任意一臺機器掛了沒有影響,因為其他機器還在工作;
分布式:
一個業務在不同的物理點上做,比如web服務器、應用服務器、數據庫服務器,這三個節點分開部署在不同的機器上,共同完成一個業務;分布式的特點是,每個節點都不能掛,否則這個業務就不能完成了;當然,我們可以給分布式中的每個節點都做集群處理,這樣可以降低分布式系統的單節點故障;
所以,針對自己業務量大小,對上述的負載均衡、服務器集群、分布式結構,任意選用方案。
二、網站本地項目層面 1、頁面靜態化前臺實現完全的靜態化最好,可以完全不用訪問數據庫。這樣服務器的壓力就減輕了不少。
這點我們可以借鑒一些比較成熟的框架方案,比如說dedecms、帝國cms、wordpress等,他們都可以對已產生的網頁生成純靜態頁面,每次更新內容,會再次生成純靜態頁面。
另外還建議,頁面中的圖文進行動靜分離處理,把頁面用到的圖片放到專用存儲空間(比較常見的有阿里云OSS ),減少網站服務器的壓力,另外也建議動靜分離的那一部分也做一下CDN加速。讓圖片等相對較大的資源才CDN節點獲取,提高網站打開速度。
2、緩存技術(Memcache、Redis等)詳細可參考《【圖文】wordpress站如何用阿里云OSS做動靜分離?》
緩存技術就是另一個解決方案,就是將動態數據存儲到緩存文件中,動態網頁直接調用 這些文件,而不必再訪問數據庫。
簡單羅列一下redis和memcache的區別
Redis和Memcache都是將數據存放在內存中,都是內存數據庫。不過memcache還可用于緩存其他東西,例如圖片、視頻等等;
Redis不僅僅支持簡單的k/v類型的數據,同時還提供list,set,hash等數據結構的存儲;
虛擬內存--Redis當物理內存用完時,可以將一些很久沒用到的value 交換到磁盤;
過期策略--memcache在set時就指定,例如set key1 0 0 8,即永不過期。Redis可以通過例如expire 設定,例如expire name 10;
分布式--設定memcache集群,利用magent做一主多從;redis可以做一主多從。都可以一主一從;
存儲數據安全--memcache掛掉后,數據沒了;redis可以定期保存到磁盤(持久化);
災難恢復--memcache掛掉后,數據不可恢復; redis數據丟失后可以通過aof恢復;
Redis支持數據的備份,即master-slave模式的數據備份;
應用場景不一樣:Redis出來作為NoSQL數據庫使用外,還能用做消息隊列、數據堆棧和數據緩存等;Memcached適合于緩存SQL語句、數據集、用戶臨時性數據、延遲查詢數據和session等。
3、數據庫優化參考一下開源案例《【圖文】wordpress如何開啟Memcached緩存來加速網站?》
數據庫的優化總結為如下三點
1、數據庫分表技術
當一張的數據達到幾百萬時,你查詢一次所花的時間會變多,如果有聯合查詢的話,很有可能會死在那兒了。分表的目的就在于此,減小數據庫的負擔,縮短查詢時間。
可參考《mysql數據庫如何分表》
2、數據庫讀寫分離
數據庫讀寫分離的基本原理是讓主數據庫處理事務性增、改、刪操作(INSERT、UPDATE、DELETE),而從數據庫處理SELECT查詢操作。
可參考《如何實現數據庫讀寫分離》
3、表建立相應的索引
使用索引可快速訪問數據庫表中的特定信息。
可參考《mysql建表并創建索引》
對于一些成熟的數據庫產品,已經無需自己做分表,不需要自己做讀寫分離,只要主實例下有只讀實例以及開通讀寫分離功能即可。
4、CDN比如說 阿里云的RDS
詳情參考《RDS是否需要自己做分表、讀寫分離?》
將源站內容分發至最接近用戶的節點,使用戶可就近取得所需內容,提高用戶訪問的響應速度和成功率。解決因分布、帶寬、服務器性能帶來的訪問延遲問題,適用于站點加速、點播、直播等場景。
使用CDN的好處不僅僅是緩存網站靜態資源,還可以起到隱藏源IP的作用,這樣還可以應對一些小的流量攻擊,避免源IP泄露被人攻擊。
通常用的CDN就那么幾家,這里以阿里云CDN為例:阿里云CDN。
5、禁止盜鏈詳細參考《阿里云CDN怎么使用》
外部網站的圖片或者文件盜鏈往往會帶來大量的負載壓力,因此應該嚴格限制外部對于自身的圖片或者文件盜鏈。
這個操作相對就簡單了很多,如果你使用了阿里云的CDN(對象存儲OSS),這些CDN/對象存儲OSS的控制臺里可以一鍵設置防盜鏈。
詳細可參考官方教程:
《阿里云CDN怎樣設置防盜鏈》
《阿里云OSS怎樣設置防盜鏈》
大文件的下載會占用很大的流量,并且對于非SCSI硬盤來說,大量文件下載會消耗 CPU,使得網站響應能力下降。因此,盡量不要提供超過2M的大文件下載,如果需要提供,建議將大文件放在專門的存儲空間上(對象存儲OSS/COS)。
這個方法詳細參考:
《如何限制windows系統服務器上傳文件的大小》
《如何限制Linux系統服務器上傳文件的大小》
在產品的選用上,盡量都選用同一家的產品(要么都用阿里云家的,要么都用其他云家的),部分產品也盡量選同一區域。選同一家是為了,一來是方便管理,二來部分產品不適合兩家接入使用。選同一區域的,是為了同一區域可以內網互聯,還能節省一些費用。
(原文:流量大的網站 如何處理高并發流量問題)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/3211.html
摘要:詳細參考阿里云官方文檔如何創建阿里云集群。方法二創建一個零節點的集群并添加已有的云服務器。重置云服務器的鏡像,將其自動加入集群。前面搞了個教程教大家《如何處理網站高并發流量問題?》里面有提到需要搭建集群服務器,今天就給大家介紹一下阿里云搭建集群服務器的方法。 準備工作: 1、需要有2臺以上的阿里云服務器:https://www.aliyun.com/product/ecs2、開通阿里云容器服...
摘要:摘要近日,阿里云推出了云虛擬主機網站木馬查殺的新功能,十分適合對網站安全不了解不熟悉的用戶,或網站出現掛馬情況不清楚如何處理的用戶。阿里云表示,此次網站木馬查殺功能是阿里云安騎士專為虛擬主機推出的安全增值服務。 摘要: 近日,阿里云推出了云虛擬主機網站木馬查殺的新功能,十分適合對網站安全不了解、不熟悉的用戶,或網站出現掛馬情況不清楚如何處理的用戶。 阿里云表示,此次網站木馬查殺功能是阿...
摘要:面試,是跳槽后第一個需要面對的問題而且不同公司面試的著重點不同但是卻有一個共同點基礎是必考的。對自動災難恢復有要求的表。 貌似這一點適應的行業最廣,但是我可以很肯定的說:當你從事Java一年后,重新找工作時,才會真實的感受到這句話。 工作第一年,往往是什么都充滿新鮮感,什么都學習,沖勁十足的一年;WEB行業知識更新特別快,今天一個框架的新版本,明天又是另一個新框架,有時往往根據項目的需...
摘要:面試,是跳槽后第一個需要面對的問題而且不同公司面試的著重點不同但是卻有一個共同點基礎是必考的。對自動災難恢復有要求的表。 貌似這一點適應的行業最廣,但是我可以很肯定的說:當你從事Java一年后,重新找工作時,才會真實的感受到這句話。 工作第一年,往往是什么都充滿新鮮感,什么都學習,沖勁十足的一年;WEB行業知識更新特別快,今天一個框架的新版本,明天又是另一個新框架,有時往往根據項目的需...
閱讀 2477·2021-09-22 16:05
閱讀 2961·2021-09-10 11:24
閱讀 3631·2019-08-30 12:47
閱讀 2940·2019-08-29 15:42
閱讀 3378·2019-08-29 15:32
閱讀 1944·2019-08-26 11:48
閱讀 1081·2019-08-23 14:40
閱讀 902·2019-08-23 14:33