成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

門戶網站運維經驗談

運維 系統運維
本文所講的門戶網站運維,一般是服務器規模大于1000臺,pv每天至少上千萬的網站的運維工作。網站應用運維對其它關聯工種必須非常了解熟悉:網絡運維、系統運維、應用開發、內容;但這些非自已的本職工作,本文所講的運維工程師就是指專職應用運維工程師。

原文地址:http://bbs2.chinaunix.net/viewthread.php?tid=1281178 (51CTO編輯進行了部分整理)

對于網站運維,感覺大家還是比較迷惘與不解,確實,這是一個新興崗位;近來閑而無事,在此結合自已以往的一些經歷,與大家先共同探討一下“什么是門戶網站運維”? 以下是自已的一些經驗和感受請大家斧正,希望和大家一起探討,共同進步。

51CTO編輯推薦:SA,神仙與裝機男:運維的工作到底啥樣兒?

一、什么是門戶網站運維?

首先明確一下,全文所講的”運維“是指:門戶網站應用運維,與其它運維如網絡、系統的區別還是蠻大的;然后我們再對大型網站與小型網站進行范圍定義,此定義主要從運維復雜性角度考慮,如網站規范、知名度、服務器量級、pv量等考慮,其它因素不是重點;因此,我們先定義服務器規模大于1000臺,pv每天至少上千萬(至少國內排名前20),如sina、alibaba、sohu、baidu、網易等等。

其它小型網站可能沒有真正意義上的運維工程師,這與網站規范不夠和成本因素有關,更多的是集合網絡、系統、開發工作于一身的“復合性人才”,就如本版有些同僚將公司的合同采購都納入了運維職責范圍,還有如IDC網絡規劃也納入運維職責,這是網絡工程師的工作,我們就不要搶人家飯碗了,但是,有件事非常重要一定需要明白:網站應用運維對其它關聯工種必須非常了解熟悉:網絡運維、系統運維、應用開發、內容;但這些非自已的本職工作,我在這里所講的運維工程師就是指專職應用運維工程師。

我們再來說說一個般產品的“出生”流程:

1、首先公司BOSS層給出指導思想,PM定位市場需求(或copy成熟應用)進行調研、分析、最終給出詳細設計

2、開發工程師將設計code實現出來、測試工程師對應用進行測試(同一產品事業部)

3、網絡\系統工程師根據產品設計的需求,如pv大小預估、服務器規模、應用架構等因素完成網絡規劃及設備上的調整(基本上對網絡變動不大,除非大項目)、SA系統工程師負責產品服務器上架準備工作,服務器系統安裝、網絡、IP、通用工具集安裝

4、好,到運維工程師出馬了。

首先明確一點不是說前三步就與運維工作無關了,恰恰相反,前三步與運維關系很大:應用的前期架構設計、軟/硬件資源評估申請采購、應用設計性能隱患及評估、IDC、服務性能\安全調優、服務器系統級優化(與特定應用有關)等都需運維全程參與,并主導整個應用上線項目;運維工程師需要對上線的應用系統架構是否合理、是否具備可擴展性、及安全隱患等因素負責,并負責最后將產品(程序)、網絡、系統三者進行拼接并最優化的組合在一起,最終完成產品上線提供用戶使用,并周而復使:需求->開發(升級)->測試->上線(性能、安全問題等之前預估外的問題隨之慢慢就全出來了)在這里提一點:網站開發模式與傳統軟件開發完全不一樣,網站一天開發上線1~5個升級版本是家常便飯,用戶體驗為王嘛,如果某個線上問題像M$需要1年解決,用戶早跑光了。

應用上線后,運維工作才剛開始,具體工作可能包括:升級版本上線工作、服務監控、應用狀態統計、日常服務狀態巡檢、突發故障處理、服務日常變更調整、集群管理、服務性能評估優化、數據庫管理優化(大于50臺)、隨著應用PV增減進行應用架構的伸縮、安全、運維開發工作:

a 、盡量將日常機械性手工工作通過工具實現(如服務監控、應用狀態統計、服務上線等等),提高效率

b 、解決現實中服務存在的問題,如高可靠性、可擴展性問題等,

c、大規模集群管理工具的開發,如1萬臺機器如何在1分鐘內完成密碼修改、或運行指定任務?2000臺服務器如何快速安裝操作系統?各分布式IDC、存儲集群中數BT級的數據如何快速的存儲、共享、分析?等一系列挑戰都需運維工程師的努力。

在此說明一下其它配合工種情況,在整個項目中,前端應用對于網絡/系統工程師來說是黑匣子,同時開發工程師職責只是負責完成應用的功能性開發,并對應用本身性能、安全性等應用本身負責,它不負責或關心網絡/系統架構方面事宜,當然軟/硬件采購人員等事業部其它同事也不會關心這些問題,各司其職,但項目的核心是運維工程師~!所有其它部門的橋梁

上面說了很多,我想大家應該對運維有一些概念了,在此打個比方吧,如果我們是一輛高速行駛在高速公路上的汽車,那運維工程師就是司機兼維修工,這個司機不簡單,有時需要在高速行駛過程中換輪胎、并根據道路情況換檔位、當汽車速度越來越快,汽車本身不能滿足高速度時對汽車性能調優或零件升級、高速行進中解決汽車故障及性能問題、時刻關注前方安全問題,并先知先覺的采取規避手段……這就是運維工作~!

最后說一下運維工程師的職責:“確保線上穩定”,看似簡單,但實屬不容易。運維工程師必須在諸多不利因素中進行權衡:新產品模式對現有架構及技術的沖擊、產品高頻度的升級帶來的線上BUG隱患、運維自動化管理承度不高導致的人為失誤、IT行業追求的高效率導致流程執行上的缺失、用戶增漲帶來的性能及架構上的壓力、IT行業寬松的技術管理文化、創新風險、互聯網安全性問題等因素,都會是網站穩定的大敵,運維工程師必須把控好這最后一關,需具體高度的責任感、原則性及協調能力,如果能做到各因素的最佳平衡,那就是一名優秀的運維工程師了。

另外在此聊點題外話,我在本版看到有很多人要sina、網易、sohu、baidu等聊自已的運維方面的經驗,其實這對于它們有點免為其難:

a、各公司自已網絡架構、規模、或多或少還算是公司的核心秘密,要保密;另外,對于大家所熟知的通用軟件、架構,由于很多公司會根據自已實際業務需要,同時因為原版性能、安全性、已知bug、功能等原因,進行過二次開發(如apache,php,mysql...),操作系統內核也會根據不同業務類型進行定制的,如某些應用屬于運算型、某些是高IO型、或大儲存大內存型……根據這些特點進行內核優化定制,如sina就在memcache上進行過二次開發,搞出了一個memcache DB,具體做得如何我們不談,但開源了,是值得稱贊的,國內公司對于開源基本上是索取,沒有貢獻;另外,服務器也不是大家所熟知的型號,根據業務特點,大部份都是找DELL/HP/sun/ibm進行過定制;另外,在分布式儲存方面都有自已解決方案,要不就是使用現成開源hadoop等解決方案,或自已開發。但90%都是借鑒google GFS的思想:分布式存儲、計算、大表

b、各公司業務方向不一樣,會導致運維模式或方法都不一樣,如alibaba和baidu運維肯定區別很大,因為他們業務模式決定了其架構、服務器量級、IDC分布、網絡結構、通用技術都會不一樣,主打新聞門戶的sina與主打網游的盛大運維模式差異就非常大,甚至職責都不大一樣;但有一點,通用技術及大致架構上都大同小異,大家不要太神化,更多的公司只是玩壘積木的游戲罷了,沒什么技術含量。

c、如我上面所講,目前門戶網站運維還處于幼年時期理念和經驗都比較零散,沒有成熟的知識體系,我相信大家也講不出所以然來(我現在也中抓破腦袋擠出這點字,呵呵),可能具體什么是運維,大家都要先思索一番,或壓根沒想過,真正討論也只是運維工作的冰山一角,局限于具體技術細節,或某某著名網站大的框架,真正運維體系化東西沒有,這也許是目前網上運維相關資料比較少的原故吧。

#p#

二、運維工作師需要什么樣的技能及素質

做為一名運維工程師需要什么樣的技能及素質呢,首先說說技能吧,如大家上面所看到,運維是一個集多IT工種技能與一身的崗位,對系統->網絡->存儲->協議->需求->開發->測試->安全等各環節都需要了解一些,但對于某些環節需熟悉甚至精通,如系統(基本操作系統的熟悉使用,*nix,windows..)、協議、開發(日常很重要的工作是自動運維化相關開發、大規模集群工具開發、管理)、通用應用(如lvs、ha、web server、db、中間件、存儲等。。。)、網絡(至少要對應用所處網絡環境非常了解);

技能方面總結以下幾點:

1、開發能力,這點非常重要,因為運維工具都需要自已開發,開發語言:c/c++(必備其中之一)、perl、python、php(其中之一)、shell(awk,sed,expect....等),需要有過實際開發經驗,否則工作會非常痛苦

2、通用應用方面需要了解:操作系統(目前國內主要是linux、bsd)、webserver相關(highttp,apahe,php,tomcat,java。。。)、數據庫(mysql,oralce)、其它雜七八拉的東東,如系統優化,高可靠性等等。這些只是加分項,不需必備,可以邊工作邊慢慢學,這些東西都不難。當然在運維中,有些是有分工偏重點不一樣。如可能有專門的運維DBA

3、系統、網絡、安全等需要有所了解,至少知道其原理

(51CTO編輯注:本站鮮橙加冰的《運維人員應該掌握哪些常用技術》一文也寫得相當不錯,值得閱讀)

個人素質方面:

1 溝通能力、團隊協作:運維工作跨部門、跨工種工作很多,需善于溝通、并且團隊協作能力要強;這應該是現代企業的基本素質要求了,不多說了。。。

2 工作中需膽大心細:膽大才能創新、不走尋常路,特別對于運維這種新的工種,更需創新才能促進發展;心細,運維工程師是網站admin,最高線上權限者,一不小心就會遺憾終生或打入十八層地獄……

3 主動性、執行力、精力旺盛、抗壓能力強:由于IT行業的特性,變化快;往往計劃趕不上變化,運維工作就更突出了,比如國內各大公司服務器往往是全國各地,哪里便宜性價比高,就那往搬,進行大規模服務遷移(牽扯的服務器成百上千臺),這是一個非常頭痛的問題;往往時間非常緊迫,如限1周內完成,要命~~~,這種情況下,運維工程師的主動性及執行力就有很高的要求了:計劃、方案、服務無縫遷移、機器搬遷上架、環境準備、安全評估、性能評估、基建、各關聯部門扯皮……7X24小緊急事故響應等。

4 其它就是一些基本素質了:頭腦要靈光、邏輯思維能力強、為人謙虛穩重、親和力、樂于助人、有大局觀

5 最后一點,做網站運維需要有探索創新精神,通過創新型思維解決現實中的問題,因為這是一個處于幼年的職業(國外也一樣,但比國內起步早點),沒有成熟體系或方法論可以借鑒,只能靠大家自已摸索努力

#p#

三、運維工程師的職責

1、保證服務達到要求的線標準,如99.9%;保證線上穩定,如,網絡/系統運維工程師對網絡、系統穩定負責,那應用運維就需對線上應用的穩定負責。

2、不斷的提升應用的可靠性與健壯性、性能優化、安全提升;這方面非常考驗主動性、和創新思維

3、網站各層面實時狀態的監控、統計的覆蓋度;軟件、硬件、運行狀態,能監控的都需要監控統計,避免監控死角、并能實時了解應用的運轉情況。

4、通過創新思維解決運維效率問題;目前各公司大部份運維主要工作還是依賴人工操作干預,需要盡可能的解放雙手

5、運維知識的積累與沉淀、文檔的完備性,運維是一個經驗性非常強的崗位,好的經驗與陷阱都需積累下來,避免重復性范錯。

6、成本控制;通過技術手段提升硬件承載、架構優化,如虛擬化技術,節省硬件開支。

7、自動化運維;能對日常機械化工作進行提煉、設計并開發成工具、系統,能讓系統自動完成的盡量依靠系統;讓大家更多的時間用于思考、創新思維、做自已喜歡的事情。

#p#

四、運維職業的迷惘、現狀與發展前景

應用運維不像其它崗位,如網絡、系統、安全運維崗位及研發工程師、測試工程師等,有非常明確的職責定位、職業規劃、社會認同、比較有職業成就感;而應用運維工作可能給人的感覺是系統/應用哪方面都了解一些,但又都比上專職工程師更精通、感覺平時被關注度比較低(除非線上出現故障),慢慢的大家就會迷惘,對職業發展產生困惑,為什么會有這種現象呢? 除了職業本身特點外,主要還是因為對運維了解不深入、做得不深入導致、新職位還沒得到社會廣泛認知及認同;其實這個問題其它崗位也會出現,但我發現運維更典型,更容易出現這個問題;

針對這個問題我談一下網站運維的現狀及發展前景(也在思考中,可能不太深入全面,也請大家斧正補充)

運維現狀:

1、處于剛起步的初級階段,各大公司有此專職,但重視或重要承度不高,可替代性強,工作職責也有所不同;小公司更多是由其它崗位來兼顧做這一塊工作,沒有專職,也不可能做得深入

2、技術層次比較低;主要處于技術探索、積累階段,沒有型成體系化的理念、技術。

3、體力勞動偏大;這個問題主要與第二點有關系,很多事情還是依靠人力進行,沒有完成好的提練,對于大規模集群沒有成熟的自動化管理方法,在此說明一下,大規模集群與運維工作是息息相關的如果只是百十來臺機器,那就沒有運維太大的生存空間了

4、優秀運維人才的極度缺乏;目前各大公司基本上都靠自已培養,這個現狀導致行業內運維人才的流動性非常低,非常多好的技術都局限在各大公司內部,如google 50萬臺機器如果科學的管理?或者國內top 10 的一些經驗,這些經驗是非常有價值的東西并決定了一個公司的核心競爭力;這些問題進而導致業內先進運維技術的流通、貫通、與借簽,并最終將限制了運維發展。

5、很多優秀的運維經驗都掌握在大公司手中;這不在于公司的技術實力,而在于大公司的技術規模、海量PV、硬件規模足夠大,如baidu可怕的流量、海量數據~~~~這些因素決定了他們遇到的問題都是其它中/小公司還沒有遇到的,或即將遇到。但大公司可能已有很好的解決方案或系統

發展前景:

1、從行業角度來看,隨著中國互聯網的高速發展(目前中國網民已躍升為全球第一)、網站規模越來越來大、架構越來越復雜;對專職網站運維工程師、網站架構師的要求會越來越急迫,特別是對有經驗的優秀運維人才需求量大,而且是越老越值錢;目前國內基本上都是選擇畢業生培養(限于大公司),培養成本高,而且沒有經驗人才加入會導致公司技術更新緩慢、影響公司的技術發展;當然,畢業生也有好處:白紙一張,可塑性強,比較認同并容易融入企業文化

2、從個人角度,運維工程師技術含量及要求會越來越高,同時也是對公司應用、架構最了解最熟悉的人、越來越得到重視

3、網站運維將成為一個融合多學科(網絡、系統、開發、安全、應用架構、存儲等)的綜合性技術崗位,給大家提供一個很好的個人能力與技術廣度的發展空間

4、運維工作的相關經驗將會變得非常重要,而且也將成為個人的核心競爭力,具備很好的各層面問題的解決能力及方案提供、全局思考能力等

5、特長發控和興趣的培養;由于運維崗位所接觸的知識面非常廣闊,更容易培養或發揮出個人某些方面的特長或愛好,如內核、網絡、開發、數據庫等方面,可以做得非常深入精通、成為這方面的專家

6、如果真要以后不想做運維了,轉到其它崗位也比較容易,不會有太大的局限性。當然了,你得真正用心去做

7、技術發展方向、網站/系統架構師

#p#

五、運維關鍵技術點解剖

1、 大規模集群管理問題

首先我們先要明確集群的概念,集群不是泛指各功能服務器的總合,而是指為了達到某一目的或功能的服務器、硬盤資源的整合(機器數大于兩臺),對于應用來說它就是一個整體,目前常規集群可分為:高可用性集群(HA),負載均衡集群(如lvs),分布式儲、計算存儲集群(DFS,如google gfs ,yahoo hadoop),特定應用集群(某一特定功能服務器組合、如db、cache層等),目前互聯網行業主要基于這四種類型;對于前兩種類似,如果業務簡單、應用上post操作比較少,可以簡單的采用四層交換機解決(如f5、foundly),達到服務高可用/負責均衡的作用,對于資源緊張的公司也有一些開源解決辦法如lvs+ha,非常靈活;對于后兩種,那就考驗公司技術實力及應用特點了,第三種DFS主要應用于海量數據應用上,如郵件、搜索等應用,特別是搜索要求就更高了,除了簡單海量存儲,還包括數據挖掘、用戶行為分析;如google、yahoo就能保存分析近一年的用戶記錄數據,而baidu應該少于30天、soguo就更少了。。。這些對于搜索準備性、及用戶體驗是至關重要的。

接下來,我們再談談如何科學的管理集群,有以下關鍵幾點:

I、監控

主要包括故障監控和性能、流量、負載等狀態監控,這些監控關系到集群的健康運行,及潛在問題的及時發現與干預;

a、服務故障、狀態監控:主要是對服務器自身、上層應用、關聯服務數據交互監控;例如針對前端web server,我們就可以有很多種類型的監控,包括應用端口狀態監控,便于及時發現服務器或應用本身是否crash、通過icmp包探測服務器健康狀態,更上層可能還包括應用各頻道業務的監控,常用方法是采用面業特征碼進行判斷,或對重點頁面進行簽名,以網站被黑篡改(報警、并自動恢復被篡改數據)。。。這些只是一部份,還有N多監控方式,依應用特點而定,還有一些問題需解決,如集群過大,如何高性能的進行監控也是一個現實問題。。。。。

b、其它就是集群狀態類的監控或統計,為我們合理管理調優集群提供數據參考、包括服務瓶頸、性能問題、異常流量、攻擊等問題

II、故障管理

a、硬件故障問題;對于成百上千或上萬機器的N多集群,服務器死機、硬件故障概率是非常大的,幾乎每時每刻都有服務硬件問題,死機、硬盤損壞、電源、內存、交換機。。。針對這種情況,我們在設計網站架構時需要充分考慮到這些問題,并將其視為常態;更多的依靠應用的冗余機制來規避這種風險,但給系統工程師足夠寬裕的處理時間。(如google不是號稱同時死800臺機器,服務不會受到任何影響嗎);這就是考驗運維工程師及網站架構師功能的地方了,好的設計能達到google所描述自恢復能力,如gfs,糟糕的設計那就是一臺服務器的死機可能會造成大面積服務的連鎖故障反映,直接對用戶拒絕響應。

b、應用故障問題;可能是某一bug被觸發、或某一性能閥值被超越、攻擊。。。情況不一而定,但重要的一點,是要有對這些問題的預防性措施,不能想當然,它不會出問題,如真出問題了,如何應對? 這需要運維工程師平時做足功夫,包括應急響應速度、故障處理的科學性、備用方案的有效等

III、自動化

自動化:簡而言之,就是將我們日常手動進行的一些工作通過工具,系統自動來完成,解放我們的雙手及枯燥的重復性勞動,例如:沒有工具前,我們安裝系統需要一臺一臺裸機安裝,如2000臺,可能需要10人/10天,搞爛N張光盤,人力成本更大。。。而現在通過自動化工具,只需幾個簡單命令就能搞定、還有如機器人類程序,自動完成以往每天人工干預的工作,使其自動完成、匯報結果,并具備一定的專家系統能力,能做一些簡單的是/非判斷、優化選擇等。。。這些好處非常明顯不再多說。。。應該說,自動化運維是運維工程師職業化的一個追求,利私利公,雖然這是一個異常艱巨的任務:不斷變更的業務、不規范化的應用設計、開發模式、網絡架構變更、IDC變更、規范變動等因素,都可能會對現有自動化系統產生影響,所以需要模塊化、接口化、變因參數化等。。。。。。因此,自動化相關工作,是運維工程師的核心重點工作之一,也是價值的體現

2 大并發網站的設計

網站架構設計中,非常重要的一個要素,就是確保架構的可擴展性、這是高并發網站的基石。往往,一個網站的大流量不是與生具來的,而是有一個積累過程~~最后變成巨無霸,包括google、yahoo這種全球流量大戶,而在這個成長過程中所積累的經驗才是最值得我們學習的,包括思考方式、問題解決、改進過程。沒有最好的架構設計方案,只有更好。。。,因此在此不會給大家一個終極方案。。。,在此介紹的這些經驗,更多的是讓大家真正掌握架構設計方法、理念、靈魂,并真正的能利用到實際中。為了讓大家更易理解,我在此主題討論中將會借用本版”jiang2798 “貼的"google架構、youtube架構"等經典案例和大家分析一下,再談談一些通用性原則及技巧。

高并發架構需滿足的一些因素、要點:

I負載均衡架構

首先網站前端需要采用負載均衡群集解決用戶高并發的響應,目前常用方法包括

a、squid反向代理,這也是各大網站常用的方法,包括sohu、sina...;

b、DNS輪循;

c、采四層硬件設備,包括google、baidu使用這種方式。。。對于lvs,小頻道或不重要應用可以嘗試使用,對于大流量、實時性要求高的網站目前還不成熟。

II 高性能中間件選擇、優化

中間件選擇、優化非常重要,當服務流量大于一定承度時,性能的稍微提升,對于整體硬件成本控制、服務的整體性能提升都是非常可觀的。對于web server 目前常用的屬apache,但apache 多進程(線程池)架構有一些缺點,進程頻繁生成\注銷系統開銷大,特別當流量大時更是明顯,對于應用邏輯簡單的可以考慮lighttpd 采用單進程+epoll并發模式,效率高,但對多CPU支持有問題,但可采用啟多服務解決這個問題;如果由于應用架構原因必須使用apache,可考慮apache module 性能比普通CGI成倍提升。。。其它原則,包括各中間件各版本測試、包括性能、安全上的考良,找到平衡點,不要太關注某一點因素,導致整體架構上出現隱患,另外一點非常重要,那就中間件的參數優化,這些方面大家可以google、baidu上找找,比較多,但有個原則那就是需要根據服務器實際資源情況進行優化,如httpd最大進程數設多大合適呢?有些朋友,就隨手來個2048,覺得這樣肯定不會再出現httpd由于進程閥值過低導致拒絕服務,但這有個隱患,因為生成進程,是需要硬件資源的,當進程數達到一定承度,可能服務器內存會溢出,導致服務器crash,特別是內存消耗量大的應用。。。這樣的案例很多,需謹記

III擴展性問題

擴展性對于高速發展期間的網站非常重要,大家可以經常在網上看到某某網站的發展勵途,那簡直就是一部進化史,過程曲折而痛苦~~。因此成熟的經驗就非常重要了,擴展性可以從兩個方面來看:網絡系統上的擴展性及應用本身的擴展性,首先在網絡上需層次分明,盡量扁平化,全網冗余不能存在故障點,盡量按業務類型進行劃分網絡結構(pv大小、優先級)防止互擾,重要的一點:網絡設計中,簡單就是美~~,在不影響擴展性的前提下,不要搞得太復雜;網絡硬件資源、機架位、IDC都需提前至少半年進行規劃,這些規劃的重要依據是公司業務發展的前景評估,這就體現公司的戰略眼光了,包括是否需要外地IDC(依用戶群體而定)。。。;另外,選一個好點的IDC是非常必要的,否則就得疲于IDC遷移了,北京地區好IDC還是不少的:皂君廟(有點老了。)、土城、聯通、酒仙橋、愛立信、互聯世紀、奧運官方機房數字北京據說馬上也能入駐了。。。當然了,有錢也能像google一樣自已搞個IDC,國內誰有這個實力?

另一點就是應用本身的擴展性了,原則其實很簡單,應用設計時應盡量確保應用的層次化、采用高性能的中間件、邏輯復雜及大數據量交互的功能盡量做成獨立模塊\后臺、cache層、數據庫分層(讀/寫操作分離),不要圖前期簡單直接將功能全部揉進前端CGI中,這很致命,隨時都可能會遇到性能瓶頸、而且毫無擴展性。。。

當以上兩點很好的解決后,現在唯一的問題就是每半年根據業務的PV增漲、新業務發展,預購服務器了……;當然了,對現有架構優化,性能提升才是根本解決之道,特別是現在全球經濟不景氣,大家都不好過,這就是運維工程師的責任了,優化再優化~~

IV應用設計、開發中的注意點

架構層設計好后,應用層設計就是我們重點關注對象了,這也是一個項目成功的關鍵,好的設計主要體現在:性能(高并發承載能力)、可擴展性、可維護、安全性(數據完整性、應用穩定性、前端應用安全如SQL注入)、模塊冗余、負載均衡等等,技術點:線程池、epoll、TCP(長/短)連接的選擇、功能模塊的細化及后臺化、模塊冗余/負載均衡考慮(可擴展性)、高頻數據cache緩存、數據分層、應用單故障點的解決(數據唯一性問題)等。有兩點要注意:

1、應用設計時要允分考慮服務器、硬件設備甚基于IDC的不可靠性;也就是說我們在應用設計時需要考慮到應用運行過程中,隨時都可能會有1~2臺服務器或更多服務器出現故障情況(網絡故障、災難、攻擊、停電((整個IDC全掛))),如google GFS就是一個典型,我們不能將應用的穩定性寄托于硬件的穩定上,特別是門戶型公司大部份采用的都是X86普通機型,服務器crash是家常便飯、隨時隨刻(當總量到一定量級時),所以我們在做應用架構設計時需允分考慮這些問題發生時的對策,做到允分的冗余/負載均衡(這兩點可統一),如多IDC間通過智能CDN的流控、單IDC應用模塊多節點冗余/負載均衡等,即使某些應用由于特殊原因無法做到這點,也需允分考慮應急預案。。好的設計在這些突發情況下可以做到不用人工干預,當然難度也很大。。。記得前年李開復在北大演講時說過:google一個IDC同時故障800臺機器,不會影響到任何應用的正常響應(有點懷疑,可能是他挑選的某類服務器,呵呵)

2、大流量應用/模塊中能不使用數據庫就不要使用數據庫。

(本部分內容缺失,包括V   數據庫問題;VI   用戶分地域優化;3 高可靠性問題解決)

4 網站安全問題

網站安全是一個系統性工作,影響安全的因素也很多,如DDOS(最常見的)、應用漏洞、系統層面漏洞、內部安全流程漏洞等(人為失誤),可以從以下幾方面著手考慮:

1、網絡層

首先在網絡設計時需考慮到安全因素;在主干出口處,對非業務端口進行屏蔽(如非80端口全部屏蔽),對于非常規數據包進行限速,如icmp,udp等,但是需考慮主干設備性能,不能因為安全限制導致設備性能明顯下降,需要做到平衡,否則又會出現一個新的隱患點;另一方面就是主干帶寬要足夠富余,做到冗余互備(vrrp、hsrp),以抵抗DDOS的所帶來的帶寬消耗(對于大型網站DOS隨時都存在,只是規模大小不一樣),另外,現在部份4~7l硬件具有一定的syn 代理功能,可以抵御一定規模的flood,但主要還得拼資源、帶寬、硬件性能;另外,需做好主干數據鏡像分析,對于一些有規律的攻擊定位到特征、甚至是攻擊源,進行針對性的防御。對于公司重點業務可以在網絡層進行物理隔離,增強關鍵性業務的健壯性,甚至是將業務冗余分布至不同IDC,做到跨地域容災(如地震)

2、系統層

系統層主要是操作系統安全加固、系統安全BUG解決、對非業務端口進行屏蔽、非業務軟件清除、跟蹤系統工具軟件最新安全動態,并做到及時更新。特別是直接對外提供服務的服務器(處于外網),更需做好定期安全審查評估,由于一般公司服務器內網都是相通過,攻占一臺外網機器可能會導致公司整個內網全暴露,很恐怖

3、應用層面

應用方面安全就不多說了,主要是開發細節上需把好關,不留邏輯上的漏洞,并對上傳接口嚴格控制、越界檢查、SQL安全性考慮等,特別是對于用戶具備上傳接口的應用(如mail、bbs、blog、云計算等應用),漏洞是很多的;系統應用,如中間件也需做好相應的安全配置。。。不多說了,大家上網能餿到一大堆。需要多關注網上關于自身網站安全漏洞方面的信息(或定期搜索),因為往往應用上的漏洞,都是用戶先發現的,用戶是最好的測試人員,發現后需第一時間修復,并對同類業務進行全面排查;對于特定重點頁面也可以進行監控,并采用程序自動恢復主要頁面(功能上如有問題,可顯示業務升級提示),以免應用被攻破后對公司形象造成影響

4、內網安全管理

對于日常內網準入方面需有嚴格流程,統一入口,技術方面如vpn、rsa,securID(如sina就用的動態密鑰)等,沒有條件的也需定期更新入口密碼

5、安全巡查

偶爾由于人為失誤會導致一些漏洞的出現,如由于工作需要臨時變更了某些安全參數,但忘記開啟。。。這個問題其實是最大的,往往出問題也多是人為失誤,需要定期對全網關鍵安全點進行巡查;而且這也是404審計的一個重點,想必在sohu、sina、網易等美國上市公司里做安全的兄弟應該很有感觸吧

 

責任編輯:yangsai 來源: ChinaUnix論壇
相關推薦

2024-05-28 07:01:29

2011-06-21 16:26:19

SEO內部優化

2013-08-02 11:23:45

2011-09-09 09:50:40

Oracle

2012-01-06 10:42:43

NASA開源

2011-06-29 18:21:18

關鍵詞

2013-05-10 09:36:32

2011-08-22 10:05:07

51CTO技術沙龍

2011-08-22 18:27:31

服務器

2015-02-12 15:58:59

自動化運維

2009-09-14 15:04:44

2011-08-15 10:27:48

2014-03-13 09:20:38

jQueryAngularJs

2011-05-11 14:34:13

門戶網站

2011-12-13 10:06:11

2011-05-11 14:12:39

門戶網站

2009-06-29 15:39:53

Servlet和JSPServlet引擎

2012-07-13 14:25:59

2017-01-20 09:43:12

日志告警挖掘

2015-09-16 10:13:16

游戲性能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美1区| 亚洲综合无码一区二区 | 精品国产乱码久久久久久88av | 久久精品国产99国产精品 | 91久久 | 在线视频日韩 | 色婷婷亚洲 | 日韩精品区 | 人人澡人人射 | 免费黄网站在线观看 | 伊人狠狠干 | 男女视频在线观看免费 | 青青草网站在线观看 | av网站免费 | 国产精品一区久久久 | 国产精品久久久久久亚洲调教 | 国产精品高清一区二区 | av手机在线看 | 欧美高清视频一区 | 99精品99| 久久久国产视频 | 亚洲国产精品99久久久久久久久 | 视频三区| 国产精品日韩在线观看一区二区 | 精品国产青草久久久久96 | 亚洲国产精品精华素 | 四季久久免费一区二区三区四区 | 亚洲黄色一区二区三区 | 国产免费视频 | 日韩成人一区 | 久久久久久免费精品一区二区三区 | 免费观看羞羞视频网站 | 91精品国产777在线观看 | 中文字幕在线视频精品 | 中文字幕在线精品 | 午夜精品久久久久久久久久久久久 | 久久男人 | 91麻豆精品一区二区三区 | 国产高清视频在线 | www.久草.com | 一区中文字幕 |