中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

基于彈性計算平臺構(gòu)建高可用、可擴展的應用

簡介:本文重點介紹如何利用西部數(shù)碼彈性計算平臺構(gòu)建高可用、可擴展的應用。
 


西部數(shù)碼彈性計算平臺(ECS)面向中國互聯(lián)網(wǎng)開發(fā)者和站長,致力于為中國的中小網(wǎng)站提供靠譜的互聯(lián)網(wǎng)基礎服務。它基于真正的分布式存儲系統(tǒng)Hadoop,結(jié)合高性能虛擬化技術KVM,實現(xiàn)了計算、存儲和網(wǎng)絡資源的統(tǒng)一調(diào)度和彈性分配。在具體的產(chǎn)品形式上,客戶接觸

的是最簡單的云服務器,與物理機無二,沒有任何的使用門檻。由于采用了云計算技術,相比傳統(tǒng)的IDC托管服務,彈性計算在自助管理、資源組合靈活性、基礎環(huán)境定制化、數(shù)據(jù)安全性及硬件資源利用率上都有不小的優(yōu)勢。
 
在本文中,我們將和大家分享在云計算平臺上構(gòu)建高可用、可擴展應用的一些進階技巧?紤]到有些讀者尚未接觸過ECS,所以在進入正題之前,讓我們簡單瀏覽一下ECS的各項特性。
 
自助管理
 
ECS在west263.com的控制臺中提供了多種用戶自助的操作,例如最為常見的創(chuàng)建、啟動、關閉云服務器,將來還會陸續(xù)推出比較高級的自定義鏡像(Image)、負載均衡、磁盤導入等功能;叵胛覀円郧坝龅椒⻊掌鞑豢稍L問時,提交工單、電話催促,在經(jīng)歷漫長等待之后

,也未必能夠得到一個滿意的答復,F(xiàn)在,我們可以在控制臺中全程監(jiān)控和管理每一臺服務器的運行情況,從而做出快速的決定--重啟或者部署新的服務器。

ECS支持目前主流的Windows和Linux系列操作系統(tǒng)。用戶不僅可以使用這些標準的鏡像,還可以在此基礎上修改配置、安裝軟件,創(chuàng)建出自己的鏡像,當要快速恢復基礎環(huán)境或者批量部署集群時,自定義鏡像將成為提高運維效率的利器。
 
云鏡像就是將您已有的云主機做成鏡像,以便購買新的云主機的時候使用,免去重復配置主機環(huán)境的麻煩。云鏡像按照實際的數(shù)據(jù)大小來收費,費用僅為0.50元/G/月.


自動故障恢復

有了分布式存儲的支持,ECS可以提供比傳統(tǒng)主機或VPS服務更高的可用性指標。當一臺物理機損壞時,ECS會自動監(jiān)測到硬件故障,在第一時間內(nèi)把云服務器遷移到新的宿主機上,同時硬盤數(shù)據(jù)保持最后一刻的狀態(tài)。

然后,在國內(nèi),提供“云主機”的大大小小數(shù)百家服務商中,95%以上只是把一臺性能較好的物理服務器通過虛擬化技術虛擬為若干臺虛擬機再出售給客戶,實際上就是VPS。VPS的問題在于當宿主服務器發(fā)生故障(如主板損壞、電源損壞、操作系統(tǒng)損壞、硬盤損壞等)的

情況下,在上面運行的所有VPS將全部當機,恢復時間一般需要數(shù)小時以上。 使用了分布式存儲系統(tǒng)的“真云”能在10分鐘左右將業(yè)務遷移至其他節(jié)點,且硬盤數(shù)據(jù)保持最后一刻的狀態(tài)。


從以上介紹可以知道,托管在彈性計算平臺上的應用可以獲得更多的保障,但我們是否可以認為,將應用搬到云計算平臺之后,它就能跑得歡快、永不宕機,還能自動擴展了?答案是NO!


每時每刻,硬盤、主板、電源或者網(wǎng)絡設備都可能突然損壞,甚至整個數(shù)據(jù)中心發(fā)生停電。云計算技術沒有辦法解決所有硬件問題,只是降低了某些故障的發(fā)生幾率,例如:
 
•普通SATA的年損壞率在2~4%,但使用分布式存儲的年損壞率在1‰以下;
 
•自動故障恢復只是減少了服務器的宕機時間,但不能防止宕機;
 
如果我們的應用只能跑在單臺服務器上,只能依賴單臺設備的硬件升級才能應付日益增長的訪問量,那么這種應用的宕機是遲早的事。我們需要從部署架構(gòu)和應用架構(gòu)兩個方面來破解這個難題。
 
部署架構(gòu)

既然沒有什么硬件是永不損壞的,我們是否可以用多份冗余的硬件來降低故障的概率?如果挨在一起的服務器被一把火燒掉的可能性太大,我們是否可以把它們分散在不同的集群?如果數(shù)據(jù)可能被破壞,是否要經(jīng)常做些備份?… …
 
把各種故障因素都考慮一遍,我們就得出了一個大致的部署框架:
 
1、以集群方式提供服務

Web服務器、緩存服務器都是非常適合部署為集群的,單臺服務器損壞不會影響整個網(wǎng)站的訪問。數(shù)據(jù)庫服務器稍難一些,但它們也提供了鏡像、主從復制、讀寫分離等解決方案。


2、 將云服務器分布在不同的可用區(qū)(Zone)下

不同的可用區(qū)代表數(shù)據(jù)中心里的不同物理位置,同一可用區(qū)內(nèi)的服務器可能同時遭遇網(wǎng)絡設備、電力等故障,因此,把一個集群內(nèi)的云服務器分散到不同的可用區(qū)甚至不同的數(shù)據(jù)中心(Region)是個明智的選擇。


3、 為Web服務集群配置負載均衡與DNS輪詢

多臺Web服務器可以通過配置負載均衡或者DNS輪詢提供對外服務。

相比DNS輪詢,負載均衡方式會更加靈活,因為它對外屏蔽了服務器的真實IP,當負載均衡資源池內(nèi)增加或減少服務器時,對客戶是透明的。而DNS存在時延的問題,集群發(fā)生調(diào)整后,很有可能造成部分用戶在很長一段時間內(nèi)無法正常訪問網(wǎng)站。

另外,負載均衡能夠跟蹤后端應用服務器的健康狀態(tài),自動排除有故障的節(jié)點,避免出現(xiàn)服務時斷時續(xù)的問題。

對于特別大的應用,我們推薦使用負載均衡+DNS輪詢的方式,只是這里的DNS輪詢域名指向的是負載均衡的VIP。


4、 實現(xiàn)動態(tài)部署

為了應對經(jīng)常性的業(yè)務推廣和可能的DDOS網(wǎng)絡攻擊,實現(xiàn)系統(tǒng)與應用程序的一鍵部署很重要。系統(tǒng)管理員可以根據(jù)應用的當前狀態(tài)(CPU、內(nèi)存使用率、HTTP的響應時間等)作出判斷,即時增加服務器,并且快速部署應用程序,頂住突增的業(yè)務流量。如果實現(xiàn)得更智能一

些,可以在應用服務器內(nèi)部部署一些監(jiān)控程序,由主控程序判斷當前整個集群的負載情況,調(diào)用ECS API自動增減服務節(jié)點。

用一臺主控機去批量操作其它云服務器時,應該盡量地使用一些便捷工具,例如SSH密鑰對,它實現(xiàn)了授權服務器間的免登錄,使得集群管理更加簡單。


5、定時備份很重要
前面說到,沒有什么技術可以保證100%的數(shù)據(jù)安全,你的數(shù)據(jù)始終面臨誤刪文件、病毒破壞、程序?qū)戝e、硬件損壞等種種可能的風險。如果你的數(shù)據(jù)非常非常重要,請定期備份!在彈性計算平臺上,這件事情相對簡單,數(shù)據(jù)同時寫4份,還有每2天一次的外部云備份,基

礎上可以保障您的數(shù)據(jù)高枕無憂。然而,單個物理位置的存儲始終會面臨地震、火災等災難的威脅,如果你覺得還不夠安全,或者有異地使用的需要,且能夠承受異地備份帶來的存儲、帶寬等成本,可以自行拷貝數(shù)據(jù)文件。我們的彈性計算平臺有不同區(qū)域的數(shù)據(jù)中心,

您可以考慮在一個數(shù)據(jù)中心進行業(yè)務開展,而在另外一個數(shù)據(jù)中心進行災難備份。


6、 將應用程序配置為自恢復的

單臺服務器的硬件故障是常見現(xiàn)象,以現(xiàn)有的云計算技術能力,尚無法做到不影響云服務器的運行,但ECS可以快速檢測到故障特征,并且將云服務器自動遷移到新的宿主機上。這里存在一個問題,雖然云服務器重新啟動了,而且硬盤數(shù)據(jù)恢復到最后一刻的狀態(tài),但是原

先正在運行的應用程序中止了。為了讓你的服務中斷時間盡量地縮短,避免人工的介入,強烈建議將應用程序及相關服務(如Web服務、數(shù)據(jù)庫服務等)設置為開機自啟動,這樣,你就可以高枕無憂地睡大覺,不用半夜起來恢復應用,盡管只是幾個點擊或者命令操作。


7、加固系統(tǒng)

安全也是高可用的重要前提之一。放在IDC機房中的服務器時時面臨各種惡意攻擊,比如端口掃描攻擊


大量的肉機在循環(huán)探測機房中每一臺機器的1433端口,它是在試探SQLServer服務,一旦SQLServer被攻破,再利用SQLServer管理員的系統(tǒng)權限漏洞,馬上就有一些機器淪為肉雞。


西部數(shù)碼彈性計算服務在平臺層面就屏蔽了一些影響范圍很大的惡意攻擊,例如篡改MAC、偽造IP、發(fā)送ARP欺騙包等,但用戶的系統(tǒng)還是要遵循一些安全最佳實踐,才能讓自己的系統(tǒng)更加穩(wěn)固:


1、關閉不必要的系統(tǒng)服務

越多的服務意味著越多的漏洞,特別是Windows共享文件夾、遠程修改注冊表項等服務都存在巨大的風險,如果你的工作不需要這些服務,請馬上關閉。


2、及時升級系統(tǒng)補丁

前段時間爆出的微軟高危RDP漏洞讓很多用戶深受其害,通過一個簡單的Python腳本,黑客就可以直接獲取系統(tǒng)管理員權限或者直接把服務器打至藍屏。不要忽略操作系統(tǒng)廠商的安全警告,一旦遭遇攻擊,將造成不可挽回的損失。


3、開啟系統(tǒng)防火墻

采用白名單控制策略,只開放最小集合的端口。對于數(shù)據(jù)庫服務器,更要設置IP白名單,僅允許前端的Web服務器訪問;對于Web服務器,只對外開放80端口。


4、修改常見服務的端口

黑客經(jīng)常用工具軟件破解3389的遠程登錄密碼,即使您的密碼足夠復雜,但這種嘗試會消耗掉您的主機大部分的CPU資源。筆者曾經(jīng)遇到過一個很奇怪的現(xiàn)象,在一臺Windows 2003服務器上,應用的負載很低,但CPU利用率達到了99%,從任務管理器中看到,有無數(shù)個

winlogon.exe進程瘋狂消耗CPU,當時百思不得其解。一天之后,這臺服務器就淪陷了,我才恍然大悟,一定是攻擊者在嘗試破解密碼為了減少這類攻擊,最有效的方式就是修改掉遠程登錄的默認端口,增加黑客掃描的難度。為預防這個問題,西部數(shù)碼彈性云主機開通后

的默認端口是33890,而不是3389,防止CPU資源被白白浪費。


 
應用架構(gòu)


要支持上述高可用、可擴展的部署架構(gòu),應用程序也要做相應的調(diào)整。例如:


•Web應用的無狀態(tài)設計
Web應用的諸多因素可能造成系統(tǒng)無法擴展:本地存放的上傳文件、進程內(nèi)的Session等。以上傳文件為例,假設使用了本地存儲,用戶第一個請求上傳了一個頭像文件,存放在Web-A服務器上,接著刷新頁面,但這個請求被發(fā)送到Web-B服務器上,他驚奇地發(fā)現(xiàn):上傳的

頭像文件不見了!要解決這個問題,必須把上傳文件存放到共享的文件夾,Web服務器不能保留任何自己的數(shù)據(jù)(即無狀態(tài))。 在使用負載均衡時,網(wǎng)頁文件建議使用文件共享、NFS、ISCSI 或 rsync定期自動同步。


•用分布式服務代替單點的服務
單點就意味著故障,不僅有可用性的風險也有性能瓶頸的問題。常見的單點一般出現(xiàn)在共享文件服務器、數(shù)據(jù)庫服務器。西部數(shù)碼云計算平臺提供了一系列分布式服務,是這些單點服務的可行替代方案:


•需要高IO型的應用
可使用磁盤陣列存儲。 磁盤陣列存儲比分布式存儲有更高的IO性能,但在宿主服務器當機的情況下需要更長的恢復時間。


■應用的安全不容忽視

安全不僅是操作系統(tǒng)配置的問題,堡壘更容易從內(nèi)部被攻破,而這個內(nèi)鬼很有可能就是我們的應用。從概率上說,一個復雜程序會比一個簡單程序多很多漏洞,而Web應用涉及數(shù)據(jù)庫、應用服務器、緩存等諸多組件,稍有不慎,攻擊的后門就會向黑客敞開。

常見的Web服務漏洞有:


■XSS跨站腳本攻擊
這類Web攻擊最為普遍,一般發(fā)生在允許用戶輸入內(nèi)容的頁面,尤其是提供富文本編輯的模塊。幾乎所有的網(wǎng)站都會被XSS攻擊光顧,但防御這類攻擊也是最為簡單的:限制用戶輸入,并且在頁面輸出內(nèi)容時對敏感字符進行編碼,相對來說,后者更為重要一些。PHP語言的

htmlspecialchars函數(shù)、Java Jakarta commons的StringEscapeUtils類都是實現(xiàn)編碼功能的快捷工具。


■SQL注入攻擊
只要應用代碼中存在這樣的SQL:


sql = "select * from User where name='"   name   "' and password='"   password   "'";

那么這個應用距離淪陷也就不遠了,攻擊者只要輸入一個值為

”’ or 1=1 or name=’”’ or 1=1 or name=’”’ or 1=1 or name=’”’ or 1=1 or name=’
的name就可以輕易進入你的應用系統(tǒng)。杜絕這類問題的方法有2種:


對輸入的特殊字符進行轉(zhuǎn)義,例如PHP的mysql_real_escape_string函數(shù);

或者采用參數(shù)化的SQL,例如:

[table=100%,,,0]
 [tr]
  [td]sql = "select * from User where name=? and password=?";
 
result = query(sql, name, password);
[/td]
 [/tr]
[/table]
后者實現(xiàn)更加優(yōu)雅,絕對避免了SQL注入的風險,而且在提升數(shù)據(jù)庫的查詢性能上也會有所幫助。


■ 上傳文件漏洞
這是最為危險的應用級漏洞,特別容易出現(xiàn)在允許用戶上傳內(nèi)容的網(wǎng)站中。假設一個tomcat搭建的Web網(wǎng)站允許用戶上傳附件,卻忘了限制上傳目錄的可執(zhí)行權限,攻擊者就可以上傳一個帶webshell的jsp文件,通過訪問這個上傳文件的URL就可以完全控制網(wǎng)站服務器。

一定要取消上傳文件的可執(zhí)行權限,另外,絕不允許這類文件被當作服務端腳本解析。趕緊為你的網(wǎng)站實施安全策略吧!


■Cookie與傳輸加密
只要會用HttpWatch、Firebug等開發(fā)工具,大家都可以看到各大網(wǎng)站的Cookie數(shù)據(jù),而這些Cookie正是網(wǎng)站用于鑒別用戶身份的憑證。通過分析Cookie構(gòu)成,黑客有可能猜測出網(wǎng)站的鑒權策略。要想讓你的應用更安全,可以對Cookie等敏感數(shù)據(jù)進行加密。如果你的網(wǎng)站

還包含在線支付功能,部署帶授權證書的HTTPS是必不可少的,這也是很多第三方支付平臺的強制要求。


綜上所述,雖然云計算平臺提供了更靈活、更穩(wěn)定的基礎服務保障,但它不足以解決應用的高可用性和可擴展性問題,應用自身必須在架構(gòu)設計和部署上充分考慮各種意外情況,才能實現(xiàn)真正意義上的高可用、可擴展 。


編輯:互聯(lián)網(wǎng)
日期:2013-08-07

收藏 】 【 打印 】   
您可對文檔進行評分喲~

勾選遇到的問題提交給我們,收到反饋后保證及時修正更新!

提交反饋需要先登陸會員帳號

上一篇:已經(jīng)沒有了。
下一篇:已經(jīng)沒有了。
若文檔內(nèi)容對您沒有幫助,不能解決問題? 您還可以 咨詢在線客服提交工單搜索常見問題 ,我們將竭誠為您服務。
  >> 相關文章
 
分享至:
Top

24小時客服熱線

400-028-5800

028-62778877

您好,非正常上班時間若有緊急技術問題,請撥總機后按7號鍵, 其他問題請?zhí)峤还位蛟谏习鄷r間聯(lián)系,謝謝支持!