自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

手機微博運維監(jiān)控系統(tǒng)實戰(zhàn)

原創(chuàng)
開發(fā) 架構(gòu)
現(xiàn)在,各類技術(shù)大會層出不窮,技術(shù)人員有了更多學(xué)習(xí)前沿技術(shù)和設(shè)計思想的渠道。但是學(xué)習(xí)到的這些思路,是否真的適合公司的業(yè)務(wù)?要解決業(yè)務(wù)架構(gòu)的更種缺點,是否一定要推翻重做?作為技術(shù)保障人員,怎樣在不重建體系的前提下,降低系統(tǒng)的故障率,讓它運行得更好?

業(yè)務(wù)是滿足公司資本發(fā)展向前走的生力軍,它的腳步永遠都不應(yīng)該停下來。與直接參與架構(gòu)的設(shè)計和研發(fā)人員相比,技術(shù)保障人員是一群默默無聞的幕后英雄。***的架構(gòu)是不存在的,這就需要技術(shù)保障人員不斷查找并解決問題、規(guī)避架構(gòu)風險、完善業(yè)務(wù)以及開發(fā)所需要的基礎(chǔ)設(shè)施,為業(yè)務(wù)架構(gòu)的穩(wěn)定運行提供強大的支撐,為業(yè)務(wù)線的架構(gòu)設(shè)計和開發(fā)人員做好后勤保障。

現(xiàn)在,各類技術(shù)大會層出不窮,技術(shù)人員有了更多學(xué)習(xí)前沿技術(shù)和設(shè)計思想的渠道。但是學(xué)習(xí)到的這些思路,是否真的適合公司的業(yè)務(wù)?要解決業(yè)務(wù)架構(gòu)的更種缺點,是否一定要推翻重做?作為技術(shù)保障人員,怎樣在不重建體系的前提下,降低系統(tǒng)的故障率,讓它運行得更好?

[[164983]]

王春生 秒拍網(wǎng)架構(gòu)師/前新浪系統(tǒng)架構(gòu)師、研發(fā)技術(shù)保障部總監(jiān)

在由51CTO高招主辦的“CTO訓(xùn)練營”活動現(xiàn)場,前手機微博技術(shù)保障體系負責人、現(xiàn)秒拍網(wǎng)架構(gòu)師就上述問題與現(xiàn)場同學(xué)進行了分享和探討。這位有十余年系統(tǒng)設(shè)計和技術(shù)架構(gòu)經(jīng)驗的老兵認為,大多數(shù)情況下,我們目前線上運行的架構(gòu),就是最適合公司業(yè)務(wù)線狀的架構(gòu)。面對現(xiàn)實存在的一些問題,我們完全沒必要推翻現(xiàn)有的體系,而是找到一些方式和方案,能夠?qū)崟r的發(fā)現(xiàn)或者監(jiān)控線上存在的問題;同時通過相應(yīng)的技術(shù)指標,預(yù)判并規(guī)避可能出現(xiàn)的風險。

手機微博架構(gòu)淺析

2014年,手機微博的業(yè)務(wù)翻倍增長,這促使手機微博的架構(gòu)進行了一次重大改造。主要方式是將PHP的Scribe,包括自己定義的PHP模板引擎換成鳥哥寫的Yaff;將很多PHP自身運算變成了PHP模塊,等等。

王春生首先對手機微博架構(gòu)進行了簡單分析。Microservice包括開放平臺的核心池和非核心池兩部分,來將不同的業(yè)務(wù)進行隔離。用戶可以通過手機客戶端直接訪問CDN獲取圖片,以及直接訪問“圖床”Service 來上傳圖片;MAPI會請求Microsevice。

王春生坦言,整個架構(gòu)無論是從平臺體系還是從業(yè)務(wù)體系來講,與許多互聯(lián)網(wǎng)應(yīng)用的架構(gòu)非常相似,無非就是接入層、業(yè)務(wù)層、數(shù)據(jù)層,當然可能有多個接入層、多個數(shù)據(jù)層和多個業(yè)務(wù)層。那么一個這樣簡單的結(jié)構(gòu),它的問題到底可能出現(xiàn)在哪兒呢?

上圖是王春生整理出來的手機微博遇到最多的問題,并將這些問題從業(yè)務(wù)及體驗、架構(gòu)及技術(shù)保障這三個層面進行了梳理。

分析來看,這些架構(gòu)所遇到的問題基本都差不多。主要所括容量上和容錯上的一些問題;一些架構(gòu)上的不合理;監(jiān)控、報警不夠及時,響應(yīng)的速度和解決問題的速度不夠快;技術(shù)債務(wù)和技術(shù)風險等。

要想把這些技術(shù)技術(shù)債務(wù)、技術(shù)風險,包括一些對架構(gòu)產(chǎn)生影響的外部因素挖掘出來,首先要解決的問題就是監(jiān)控。因為無法對問題進行度量,管理和優(yōu)化也就無從談起。

監(jiān)控體系實戰(zhàn)

  • 技術(shù)選型:Zabbix

手機微博監(jiān)控選擇的是Zabbix。王春生談到,其實任何一款現(xiàn)在主流的開源監(jiān)控產(chǎn)品,如Nagios、Zabbix、Ganglia、Bosun等等,幾乎都可以滿足對監(jiān)控的需求。大家沒有必要在監(jiān)控系統(tǒng)的選型上費太多力氣,而真正花費時間和精力的是在監(jiān)控項的設(shè)計上,因為監(jiān)控項的設(shè)計是監(jiān)控工作中最重要的環(huán)節(jié)。

說到這里,王春生指出了許多公司運維工程師陷入的一個誤區(qū)——盡管同時采用了多套不同的監(jiān)控系統(tǒng),甚至自己寫了一部分shell腳本,但線上一些常見問題并沒有得到及時的報警。于是不斷有新的監(jiān)控項堆積出來,然而,往往還是很難定位到問題的具體細節(jié)。

  • 監(jiān)控項設(shè)計:最小粒度原則

因此,手機微博設(shè)計監(jiān)控項首先考慮的是采用最小粒度原則,任何一個涉及到單機的監(jiān)控項都會定位到單機上。在成千上萬臺機器中,只要有一臺機器出現(xiàn)問題,可以迅速定位出現(xiàn)問題的那臺機器。這臺機器在哪一個IDC,影響到的是什么樣的用戶人群,同樣也能夠快速知道。

但監(jiān)控做的細經(jīng)常遇到的一個問題就是收到到的報警太多。某一個區(qū)域,或者說某一個功能特征的系統(tǒng)出現(xiàn)問題時,經(jīng)常一下子收到幾十條、幾百條的報警短信。因此在匯總時會考慮一些收斂功能的設(shè)計。

另外在設(shè)計監(jiān)控項時,還要考慮到它覆蓋的廣度和深度,因此手機微博的監(jiān)控系統(tǒng)做了一個簡單的分層:操作系統(tǒng)層、Server層(服務(wù)軟件層)、業(yè)務(wù)層。

所有操作系統(tǒng)的日志、業(yè)務(wù)的日志全部都到Rsyslog里面去,會通過Rsyslog做轉(zhuǎn)發(fā),比如轉(zhuǎn)發(fā)到HDFS、Elasticsearch里面去,這基本是目前互聯(lián)網(wǎng)公司通用的做法。值得一提的是,手機微博的監(jiān)控整體上都是用的Rsyslog,基于日志進行實時計算。

  • ELK/ERK:定位復(fù)雜問題

監(jiān)控系統(tǒng)雖然能幫助我們快速發(fā)現(xiàn)問題,但只有監(jiān)控的話,還是沒有辦法更深入的挖掘到底出在哪兒。通過監(jiān)控,我們只能得到的是一些計算出來的數(shù)值,所以它得到的結(jié)果是很概要的。當故障發(fā)生時,尤其是在一個復(fù)雜行為里,我們很難快速定位問題真正發(fā)生的位置。另外,監(jiān)控項之間的關(guān)聯(lián)關(guān)系也是需要提前挖掘的。比如要將Feed接口所依賴的十幾個微服務(wù)的接口的定義出來,就需要花費很多的時間和精力。而且一旦業(yè)務(wù)發(fā)生變化,監(jiān)控體系也要隨之調(diào)整,這是比較麻煩的。

因此,微博采用了ELK和ERK體系,并進行了一些優(yōu)化,比如用Rsyslog替換Logstash。記錄下來的大量日志需要進行一定的格式化分析,讓開發(fā)工程師和架構(gòu)師更好的對系統(tǒng)進行優(yōu)化。通過ELK體系,可以做出這樣的餅圖出來,直觀定位監(jiān)控系統(tǒng)報警的那些問題,查找出來到底是哪一行代碼性能最差,影響了全局。

整體來看,手機微博技術(shù)保障體系的監(jiān)控系統(tǒng)的功能,主要是快速發(fā)現(xiàn)并盡可能快地定位問題。通過ELK和ERK套件,更加精準的定位問題,以及發(fā)現(xiàn)一些更為復(fù)雜的問題。ELK和ERK套件的優(yōu)勢就是日志是實時的,現(xiàn)場感很強,并且它支持的日是志類型非常豐富。幾乎在問題發(fā)生同時,我們就可以知道線上系統(tǒng)是哪一個環(huán)節(jié)都現(xiàn)問題,出現(xiàn)了什么問題。另外,它還提供了很多關(guān)聯(lián)分析。

但它的劣勢就是日志的存儲是需要一定成本的,另外效率并不高,歷史的回溯能力也不強。

保障業(yè)務(wù)前進的后勤部隊

當然,技術(shù)保障體系不止于監(jiān)控。總的來說,技術(shù)保障就是要給業(yè)務(wù)架構(gòu)師和開發(fā)工程師這些在前面沖鋒的戰(zhàn)士,提供相應(yīng)的支持和更好的素材,來保證整體業(yè)務(wù)快速向前。我們的業(yè)務(wù)要往前沖,除了開發(fā)工程師,除了架構(gòu)師,設(shè)計方案、寫代碼之后的所有事情,都需要有一個專門的技術(shù)保障團隊為大家提供服務(wù)和支撐。技術(shù)保障一方面對業(yè)務(wù)線提供支持,幫助架構(gòu)設(shè)計和代碼實現(xiàn)快速部署,使產(chǎn)品盡快面世。另外還可以通過一些基礎(chǔ)的監(jiān)控數(shù)據(jù)分析,和一些基礎(chǔ)設(shè)施的開發(fā),償還一些技術(shù)債務(wù)。

講師簡介

王春生 秒拍架構(gòu)師

秒拍網(wǎng)架構(gòu)師,先后擔任過新浪系統(tǒng)架構(gòu)師、研發(fā)技術(shù)保障部總監(jiān),10余年系統(tǒng)設(shè)計、技術(shù)架構(gòu)經(jīng)驗,尤其擅長高性能、高并發(fā)、大數(shù)據(jù)業(yè)務(wù)架構(gòu)設(shè)計。具備豐富的技術(shù)團隊管理經(jīng)驗。多個基于Rsyslog的技術(shù)作品,被Rsyslog官方引進使用。個人譯著《Puppet 3實戰(zhàn)手冊》,《NoSQL權(quán)威指南》。

了解更多訓(xùn)練營內(nèi)容請登錄 http://x.51cto.com/act/

責任編輯:Ophira 來源: 51CTO.com
相關(guān)推薦

2020-12-30 08:09:46

運維Prometheus 監(jiān)控

2009-03-09 21:25:11

Linuxnagios開源

2020-12-29 10:45:22

運維Prometheus-監(jiān)控

2013-04-12 13:30:47

2011-03-21 14:43:42

2018-09-27 08:59:29

2019-11-26 10:31:43

運維微博體系

2020-12-28 10:13:32

運維Prometheus監(jiān)控

2024-01-29 12:48:00

Jenkins監(jiān)控運維

2024-05-08 09:03:46

2019-03-19 08:41:38

Linux運維變更

2019-10-22 09:35:46

服務(wù)器微博宕機

2011-01-05 15:39:44

2018-10-18 10:40:27

微博服務(wù)器運維

2015-04-07 11:47:18

運維管理IT運維

2011-03-25 13:54:00

Nagios

2010-07-09 12:09:34

IT運維Mocha BSM摩卡軟件

2014-07-22 10:06:43

運維監(jiān)控虛擬化

2021-07-07 05:46:46

運維監(jiān)控Prometheus

2016-08-29 10:37:28

WOT移動新浪
點贊
收藏

51CTO技術(shù)棧公眾號