基于彈性計(jì)算平臺(tái)構(gòu)建高可用、可擴(kuò)展的應(yīng)用- 主機(jī)租用,虛擬主機(jī)域名注冊(cè)-常見問題,虛擬主機(jī),網(wǎng)頁制作,域名注冊(cè),主機(jī),企業(yè)郵局,主頁空間,個(gè)人主頁,網(wǎng)絡(luò)實(shí)名,主機(jī)托管,網(wǎng)站建設(shè),域名">

国产精品资源在线_成人在线一区二区_日韩av电影观看_国产亚洲一区二区三区在线观看_午夜在线_草逼网首页

  • 購物車  0

    我的購物車

    0 件商品,共計(jì) 0
    去購物車結(jié)算
  • 最新公告 
  • 常見問題
  • 有問必答
  • 網(wǎng)站備案

歡迎您來到禾城數(shù)碼,開始互聯(lián)網(wǎng)之旅!

基于彈性計(jì)算平臺(tái)構(gòu)建高可用、可擴(kuò)展的應(yīng)用

簡介:本文重點(diǎn)介紹如何利用禾城數(shù)碼彈性計(jì)算平臺(tái)構(gòu)建高可用、可擴(kuò)展的應(yīng)用。
 


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

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

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

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


自動(dòng)故障恢復(fù)

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

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

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


從以上介紹可以知道,托管在彈性計(jì)算平臺(tái)上的應(yīng)用可以獲得更多的保障,但我們是否可以認(rèn)為,將應(yīng)用搬到云計(jì)算平臺(tái)之后,它就能跑得歡快、永不宕機(jī),還能自動(dòng)擴(kuò)展了?答案是NO!


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

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

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


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

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


3
 Web服務(wù)集群配置負(fù)載均衡與DNS輪詢

多臺(tái)Web服務(wù)器可以通過配置負(fù)載均衡或者DNS輪詢提供對(duì)外服務(wù)。

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

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

對(duì)于特別大的應(yīng)用,我們推薦使用負(fù)載均衡+DNS輪詢的方式,只是這里的DNS輪詢域名指向的是負(fù)載均衡的VIP。


4
、 實(shí)現(xiàn)動(dòng)態(tài)部署

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

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

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


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

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

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


6
 將應(yīng)用程序配置為自恢復(fù)的

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

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


7
、加固系統(tǒng)

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


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


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


1
、關(guān)閉不必要的系統(tǒng)服務(wù)

越多的服務(wù)意味著越多的漏洞,特別是Windows共享文件夾、遠(yuǎn)程修改注冊(cè)表項(xiàng)等服務(wù)都存在巨大的風(fēng)險(xiǎn),如果你的工作不需要這些服務(wù),請(qǐng)馬上關(guān)閉。


2
、及時(shí)升級(jí)系統(tǒng)補(bǔ)丁

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


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

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


4
、修改常見服務(wù)的端口

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

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

的默認(rèn)端口是33890,而不是3389,防止CPU資源被白白浪費(fèi)。


 
應(yīng)用架構(gòu)


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


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

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


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


需要高IO型的應(yīng)用
可使用磁盤陣列存儲(chǔ)。 磁盤陣列存儲(chǔ)比分布式存儲(chǔ)有更高的IO性能,但在宿主服務(wù)器當(dāng)機(jī)的情況下需要更長的恢復(fù)時(shí)間。


應(yīng)用的安全不容忽視

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

常見的Web服務(wù)漏洞有:


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

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


SQL注入攻擊
只要應(yīng)用代碼中存在這樣的SQL


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

那么這個(gè)應(yīng)用距離淪陷也就不遠(yuǎn)了,攻擊者只要輸入一個(gè)值為 

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


對(duì)輸入的特殊字符進(jìn)行轉(zhuǎn)義,例如PHPmysql_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]
后者實(shí)現(xiàn)更加優(yōu)雅,絕對(duì)避免了SQL注入的風(fēng)險(xiǎn),而且在提升數(shù)據(jù)庫的查詢性能上也會(huì)有所幫助。


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

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


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

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


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

 



來源: greatidc.com
閱讀:4221
日期:2013/8/12

  >> 相關(guān)文章
 
Top

客服熱線

0573-80897175

主站蜘蛛池模板: 波多野结衣一区二区三区在线观看 | 久久久精品一区二区三区 | 日本爱爱视频 | 国产精品毛片无码 | 三区四区在线观看 | 成人精品鲁一区一区二区 | 精品在线一区 | 激情网站| 国产精品91久久久久久 | 91原创视频在线观看 | 久久爱黑人激情av摘花 | 中文字幕亚洲精品 | 久久99视频这里只有精品 | 国产精品欧美日韩 | 久久精品日产第一区二区三区 | 综合国产第二页 | 国产精品久久av | 亚洲欧美一区二区三区国产精品 | 欧美一区二区免费 | 91中文 | 日韩精品一区二区三区视频播放 | 毛片黄片免费看 | 99久久日韩精品免费热麻豆美女 | 国产乱肥老妇国产一区二 | 欧美日韩a | 午夜免费网站 | 荷兰欧美一级毛片 | 91精品久久久久久久久久入口 | 天堂久久久久久久 | 日韩欧美高清dvd碟片 | 暖暖成人免费视频 | 超碰97av | 黄一区二区三区 | 日屁网站 | 97超碰免费| 精品免费国产一区二区三区 | www网站在线观看 | 最新国产精品视频 | 久久久片| 在线看片网站 | 精品一二区 |