摘要:,發布網站文件一致發布文件一致,就是為了保證更好的擴展。甚至搭配阿里云的彈性伸縮服務。綜上所述,一個功能較全的分布式網站發布在阿里云,公共需要這么幾個服務多臺,一臺,一臺,或有,或有。
雖然之前寫過關于負載均衡的文章,但是似乎大家都對負載均衡這個標題很陌生。今天就換個角度,從分布式網站發布角度說一下
首先,網站發布一定離不開服務器,就是阿里云的云服務器ECS。最近發現,老用戶也有機會購買特價服務器,參考阿里云天貓旗艦店。分布式網站架構,在開發環節需要處理號幾個地方,才能更輕松的擴展:
1,數據庫多帶帶運行
這個最簡單,相信只要用到了數據庫的網站,大部分都是已經可以輕松實現網站和數據庫分離的模式。之所以強調這點,就是因為,網站真的到了訪問量大了,需要由單機發布改為分布式發布時候。首先就是要把數據庫多帶帶出來,使用多帶帶一臺ECS或者使用專門的RDS運行。
關于使用ECS自行搭建數據庫,要說的無非就是,數據庫文件一定要放在SSD硬盤上。因為云硬盤本質都是虛擬硬盤,讀寫指標iops會損失的很嚴重。當然業務量大了之后,我更建議選購RDS,RDS阿里云專門的數據庫服務產品,mysql,sqlserver等多款分支,說實話,用慣了ECS自建可能會感覺這個產品挺貴的。但是實際上RDS已經針對硬盤讀寫,高可用,輕松拓展讀寫分離等提供了巨大的便利。因此大部分分布式網站都是選用了RDS等產品。
2,session存儲
大部分網站都是有登錄需求或者其他session存儲需求的。其實真正服務某一個用戶的服務器只有一個,然而分布式網站是在負載均衡的規則下轉發到后臺服務器,如果負載均衡沒有開啟回話保持功能,那么很有可能用戶登錄后,其他訪問很有可能到達不同的后端服務器處理,而實現不同服務器同樣能支持服務的辦法就是,session得共享起來。這樣就做到了讓用戶不需要反復登錄。
session共享有多重方法,一種是什么都不用做,session存儲在收到請求的那臺ECS本地,這種情況就需要負載均衡開啟“會話保持”功能。這么做可以實現大部分分布式發布需求,但是如果有使用session統計在線量的時候就會發現只統計到某臺ECS登錄的用戶量。
還有一種session共享的辦法是使用多帶帶的服務存儲session,例如專門拿出來一臺ECS做session服務。這里也有人跟傾向于多帶帶用一個redis服務共享存儲session,也是非常好的辦法。
3,用戶上傳的文件
很多網站存在用戶上傳的情況,但是分布式發布后,顯然用戶上傳的時候傳入了服務器A,等以后下載的時候使用的是服務器B,這時候如果沒做共享,顯然用戶下載的文件會報錯404,因為服務器B路徑下顯然沒有用戶傳到A服務器里的文件。
解決辦法很簡單,就是講所有的上傳文件,傳入到服務器之后,都轉存到“共享文件服務器”,這個共享文件服務器,可以考慮自己搭建,但我建議的是使用阿里云提供的“對象存儲OSS”服務。這樣用戶所有的下載,都走的時候OSS的訪問地址,就不會報錯404了。而且OSS是個獨立的服務,下載文件使用的是OSS的流量,不占用發布網站的ECS的帶寬。這就可以做到1M服務器帶寬撐起峰值幾十人甚至上百人的并發的原因。如果文件較多,另外建議將OSS搭配CDN使用
4,網站的日志文件
很多網站開發時候都是留有日志功能的,這些日志,就不再適合繼續使用網站目錄下某個路徑存儲了。原因跟上一條一樣:文件存儲在單臺服務器里,要拿到全部日志文件需要每臺服務器去獲取一遍,顯然不合適!
解決辦法跟上一條很相似:使用共享文件服務器存儲日志。這里需要注意避免日志文件重名,常見的年月日明明,在這里就會沖突,因為多臺服務器都會產生相同文件名稱的日志。但是我在這里,更建議大家把需要收集的日志文件,直接放入數據庫RDS中。這樣獲取日志就不用每臺服務器去匯總了。直接從數據庫查出來就好。
5,發布網站文件一致
發布文件一致,就是為了保證更好的擴展。將來服務器壓力太大,只需要直接從現有服務器環境拷貝一份即可。甚至搭配阿里云的“彈性伸縮ESS服務”??梢愿鶕O置好的伸縮規則,自動按照某個服務器模板增加或者減少WEB服務器數量,實現彈性擴容。
綜上所述,一個功能較全的分布式網站發布在阿里云,公共需要這么幾個服務:ECS多臺,SLB一臺,RDS一臺,Redis或有,ESS或有。
通過ECS+SLB+RDS+Redis+ESS的搭配,就可以輕松應對更多的訪問量了。
附錄:阿里云相關產品的幫助文檔:
《云服務器ECS幫助文檔》
《負載均衡SLB幫助文檔》
《對象存儲OSS幫助文檔》
《彈性伸縮ESS幫助文檔》
《CDN幫助文檔》
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/3412.html
摘要:,發布網站文件一致發布文件一致,就是為了保證更好的擴展。甚至搭配阿里云的彈性伸縮服務。綜上所述,一個功能較全的分布式網站發布在阿里云,公共需要這么幾個服務多臺,一臺,一臺,或有,或有。雖然之前寫過關于負載均衡的文章,但是似乎大家都對負載均衡這個標題很陌生。今天就換個角度,從分布式網站發布角度說一下 首先,網站發布一定離不開服務器,就是阿里云的云服務器ECS。最近發現,老用戶也有機會購買特價...
摘要:今天就換個角度,從分布式網站發布角度說一下首先,網站發布一定離不開服務器,就是阿里云的云服務器。甚至搭配阿里云的彈性伸縮服務。綜上所述,一個功能較全的分布式網站發布在阿里云,公共需要這么幾個服務多臺,一臺,一臺,或有,或有。 雖然之前寫過關于負載均衡的文章,但是似乎大家都對負載均衡這個標題很陌生。今天就換個角度,從分布式網站發布角度說一下 首先,網站發布一定離不開服務器,就是阿里云的云...
摘要:降級往往會指定不同的級別,面臨不同的異常等級執行不同的處理。談談你對和的認識兩者關系具體可以看公眾號阿里巴巴中間件的這篇文章獨家解讀從微服務框架到微服務生態與并不是競爭關系,作為成熟的框架,其易用性擴展性和健壯性已得到業界的認可。 該文已加入筆主的開源項目——JavaGuide(一份涵蓋大部分Java程序員所需要掌握的核心知識的文檔類項目),地址:https://github.com/...
摘要:降級往往會指定不同的級別,面臨不同的異常等級執行不同的處理。談談你對和的認識兩者關系具體可以看公眾號阿里巴巴中間件的這篇文章獨家解讀從微服務框架到微服務生態與并不是競爭關系,作為成熟的框架,其易用性擴展性和健壯性已得到業界的認可。 該文已加入筆主的開源項目——JavaGuide(一份涵蓋大部分Java程序員所需要掌握的核心知識的文檔類項目),地址:https://github.com/...
摘要:近日,阿里云正式對外發布了全新一代自研關系型數據庫。而他認為,在未來年內,沒有自研數據庫的云計算廠商將會被逐漸淘汰出局。 近日,阿里云正式對外發布了全新一代自研關系型數據庫POLARDB。值得注意的是,POLARDB并不是基于開源數據庫MySQL之上研發的分支,而且基于第三代分布式共享存儲架構,創新實現企業級OLTP與OLAP一體化數據庫系統整體設計。這意味著,在行業還在使用第一代,第二代架...
閱讀 2471·2021-11-24 09:39
閱讀 3516·2019-08-30 15:53
閱讀 593·2019-08-29 15:15
閱讀 2902·2019-08-26 13:23
閱讀 3211·2019-08-26 10:48
閱讀 642·2019-08-26 10:31
閱讀 747·2019-08-26 10:30
閱讀 2358·2019-08-23 18:32