運維與架構師的兩大主題?css
一、數據html
項目經驗:java
全網數據備份解決方案:數據庫數據,圖片資源等,程序,運維配置文件,其餘相關的。(丟失了線上的環境,保證能夠恢復)mysql
數據庫數據:主從(解決物理故障),備機開binlog保持1天以上,按天作備份(丟失數據不會超過1分鐘)。nginx
百度案例:一主多從,其中有個從不提供服務,實時同步 drbd(基本不丟數據)web
M-S1:(不提供服務,專作備份,半同步插件)sql
-S2:mongodb
圖片資源等:數據庫
一、天天晚上全量備份,1T如下緩存
增量備份:
0一、rsync 小文件比對時間很長
0二、drbd 浪費資源,備節點不可用
0三、按時間增量,201606 201607
0四、更新資源寫log,讓rsync直接經過log同步,不用再進行比對
0五、innotify,sersync
全量備份:
0一、drbd
0二、程序雙寫,提交數據寫到兩個存儲。
0三、分佈式存儲 NoSQL,mysql,mongodb同步機制作存儲
0四、分佈式架構方案。
程序運維的配置文件:都須要放到SVN裏,再向外發布
按天備份便可:維護好SVN,就能夠
辦公室SVN-->IDC測試
-->IDC正式
備份思想:
需求分析:對於每一個項目或者業務點,事先定好備份計劃。
數據庫:數據規劃好能夠丟失多少,10分鐘和1天,方案不一樣。
--> 需求誰來提出來?運維總監,開發總監,團隊討論。
機房遷移,OPENSSL升級,數據庫升級
二、7x24小時不間斷提供服務
集羣lvs,nginx,haproxy,f5,netscaler
高可用keepalive,heartbeat,nginx,haproxy
性能/擴展:優化,用戶體驗要好,業務能夠自動擴展收縮
監控:運維級別(網絡連通性,磁盤,DNS)
應用級別(jvm垃圾回收,訪問速度,流量pv抖動)
業務級別(按產品線監控,流量,負載,訪問請求,錯誤日誌50X 40x,接口存活以及流量)
一、下降服務器訪問壓力
能夠將不一樣的資源放到不一樣的服務器上,能夠下降單臺服務器的壓力,也能夠加快整個網站的訪問速度。另外,不一樣的服務器,減小cookie的傳送,也能夠下降帶寬
二、頁面靜態化
直接在服務器端生成靜態頁面,避免頻繁訪問數據庫,下降數據庫壓力。
SHTML server sider incluee SSI 服務器端html拼接技術。
CDN對動態地址,不會作優化處理,對與請求靜態的文件或者地址,進行優化。因此頁面靜態化也顯得頗有必要了
有些不適合靜態化的,好比有權限的頁面,須要註冊登錄後才能瀏覽,這就不能靜態化。
三、CDN
經過DNS解析,讓不一樣區域的用戶,訪問最近的區域,使訪問速度更快
如今不少企業沒有能力搭建CDN服務,能夠購買第三方CDN優化。開發須要留意會由於有CDN,開發會有不一樣。
CDN對動態地址,不會作優化處理,對與請求靜態的文件或者地址,進行優化。因此頁面靜態化也顯得頗有必要了
四、js壓縮和csssprite
用工具把js文件壓縮,能夠減小服務器和網絡的壓力,加快網頁加載速度。
把全部的圖片壓縮到一個圖片上,顯示的時候利用CSS偏移就能夠顯示不一樣的圖片。
訪問不一樣的資源,可能請求不一樣的服務器,對於session可能存在不一樣服務器之間沒有同步,形成須要從新登錄的狀況,所以session放到專門的服務器,每次都去同一個地方訪問session,就避免了這個問題
五、反向代理
用戶向web發送請求的時候,並非直接向服務器請求,先請求反向代理服務器,而後由反向代理服務器請求資源服務器。反向代理起到中轉者的角色。
反向代理服務器能夠米麪慢速Internet佔用Web服務器的鏈接數
反向代理服務器還能夠起到安全和負載均衡的優勢。
六、分離
文件服務器和web服務器分離:不一樣的事,不一樣服務器完成
上傳和下載分離
消耗資源的處理(視頻轉碼,圖片加水印)和web服務器分離
數據庫讀寫分離
數據庫分庫,分表
七、緩存-->下降服務器,數據庫壓力的最好方法
八、搜索引擎技術:全文檢索
sql like的問題:數據庫搜索時,用like查詢 讓整個數據庫很容易卡死
全文檢索的需求:高效率;模糊匹配
Lucene()全文檢索的工具-->效率低
Solr:基於java的封裝了Lucene-->效率高
技術都是混合架構的,適合的地方,使用適合的技術,不存在非誰不可的問題。
九、高併發的場景
秒殺和搶單:不能出現重複的問題
方法1:加鎖,只能有一個線程進行操做。缺點:效率低,慢。 高併發場景,不使用這種方案
方案2:兩個階段處理,自由搶,而後排隊裁判。
文章的閱讀數:避免同時併發加1
方法1:加鎖,只能有一個線程進行操做。缺點:效率低,慢。
方法2:每條閱讀單獨記錄,而後彙總統計。
十、雲計算 按需服務
好比12306平時10w夠用,春運的時候須要100w,這就沒有必要買100w臺服務器,利用雲服務,按照須要買須要的服務就能夠了
隨着雲服務的深刻,愈來愈多的企業,會去掉低端的網管,因此應該有危機感。