国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

支持百億請求的微博廣告運維技術實踐

運維 系統(tǒng)運維
運維的工作來源已久,但直到近些年,隨著互聯(lián)網(wǎng)的發(fā)展,產(chǎn)品的維護工作越來越復雜,以及服務可用性的提升,都讓運維的工作越來越重要。我們可以回顧下運維發(fā)展至今都經(jīng)歷了哪些階段。

[[283664]]

 一、運維在廣告體系中的價值

運維的工作來源已久,但直到近些年,隨著互聯(lián)網(wǎng)的發(fā)展,產(chǎn)品的維護工作越來越復雜,以及服務可用性的提升,都讓運維的工作越來越重要。我們可以回顧下運維發(fā)展至今都經(jīng)歷了哪些階段。

① 人工階段

這個階段的運維主要通過人肉操作我們的服務,由于這個階段的服務大都是單實例,流量服務器都比較少,所以我們通過命令行就能夠解決絕大多數(shù)的問題。

② 工具階段

隨著互聯(lián)網(wǎng)影響逐漸變大,我們的流量也開始變大,我們的產(chǎn)品功能也開始變得豐富,曾經(jīng)我們單實例的服務也開始朝著多實例、分布式發(fā)展,為了應對逐漸增加的服務器、服務數(shù),我們開始使用一些如Puppet的運維工具,通過Shell、Python寫一些腳本來提升運維的工作效率,減少重復的勞動。

③ DevOps

前幾年,運維領域開始提出DevOps的理念,開始著手解決運維與開發(fā)的合作問題,開始讓運維的工作走向規(guī)范化、平臺化。讓一個產(chǎn)品從功能開發(fā)到測試交付、再到后期運維能夠更加的快捷、頻繁、可靠,更快的響應互聯(lián)網(wǎng)快速的發(fā)展和產(chǎn)品迭代。

④ AiOps

這兩年,人工智能和大數(shù)據(jù)的異常火熱,而運維領域的許多工作都為AI和大數(shù)據(jù)的實施落地提供了良好的土壤。我們也希望通過Ai和大數(shù)據(jù)等技術的引入,能夠將運維的技術層次帶入一個更高的臺階。

通過以上描述,我們可以看到運維的工作在互聯(lián)網(wǎng)的產(chǎn)品技術鏈中是不可或缺的一環(huán),那么下面我們再來看下在微博廣告團隊,我們都是通過哪些方案舉措來服務微博廣告的產(chǎn)品。

對于我們微博廣告團隊來說,服務的可用性是至關重要的,也是我們的核心KPI,所以保障廣告服務的穩(wěn)定性也是我們運維工作的重中之重。我們主要會通過優(yōu)化系統(tǒng)和提升效率兩個方面來保障和提升我們服務的可用性。

具體涉及的內容包括系統(tǒng)性能評估、故障迅速定位、應急事件處理、請求鏈路跟蹤、代碼快速迭代、指標走勢預測等等。

 

▲ 圖1-1 運維在微博廣告的價值

二、復雜業(yè)務場景下的運維建設之路

1、服務治理

圖2-1是去年IG奪冠時,王思聰發(fā)了一條博文,而這條博文對微博廣告的影響就如圖2-2所示。這種突發(fā)的流量波動是微博典型的特征之一,它不同于雙十一等活動,可以提前預估流量,做好前期準備工作。在傳統(tǒng)的運維場景下,也許在你也還沒準備好的情況下,流量的高峰就已經(jīng)過去了。所以如果應對這樣突發(fā)的流量高峰是我們需要重點解決的問題之一。

 

▲ 圖2-1

 

▲ 圖2-2

從去年開始,我們運維團隊開始進行基于機房的服務治理工作。在以前,廣告的很多服務部署都是單點單機房、很多多機房的部署也面臨部署不均衡,流量不均勻等現(xiàn)象。跨機房的請求更是無形的增加了整個廣告鏈路的請求耗時。所以再出現(xiàn)機房級故障時,我們的服務就可能像圖2-4所示的那樣,那么服務的高可用性也就無從談起了。

[[283666]]

 

▲ 圖2-3

 

▲ 圖2-4

在19年的上半年,經(jīng)過大半年的時間,我們完成了微博廣告基于機房級別的服務優(yōu)化改造。共治理服務一百多個,所有的服務都分布在兩個及以上的運營商和機房中,從而避免了單機房出現(xiàn)故障時,造成廣告服務的不可用。而我們治理過程中堅持的準備主要有以下幾點:

  • 服務多機房均衡部署
  • 分布在不同運營商
  • 機房承載能力冗余
  • 流量請求均勻分布
  • 上下游同機房請求

同時,我們還會定期做流量壓測,來發(fā)現(xiàn)我們系統(tǒng)鏈路中的服務瓶頸。我們將生產(chǎn)環(huán)境的流量重新拷貝到生產(chǎn)環(huán)境中去,來增加線上流量,發(fā)現(xiàn)服務性能瓶頸。

圖2-5是我們對某廣告產(chǎn)品的整體性能壓測所展示的效果,我們可以清楚的發(fā)現(xiàn)圖中有兩個模塊的在流量高峰下,出現(xiàn)了耗時波動較大的問題。由此我們可以針對性的進行優(yōu)化。

 

▲ 圖2-5

2、自動化運維平臺

隨著互聯(lián)網(wǎng)的發(fā)展,我們的廣告產(chǎn)品也是日新月異,迭代頻繁。我們運維團隊每天需要面對來自三百多個業(yè)務方提過來的上線需求,在三千多臺機器上進行服務的變更等操作,如何提升服務上線的效率和質量,如何讓變更變得安全可靠也是我們重要的目標之一。

 

▲ 圖2-6

從17年開始,我們運維團隊自研了一套自動化運維平臺Kunkka,該平臺主要基于SaltStack、Jenkins等技術,可以實現(xiàn)服務的快速上線、快速回滾等操作。整體架構如圖2-7所示。

 

▲ 圖2-7 Kunkka整體架構圖

開發(fā)同學在提交代碼到Gitlab后,自動觸發(fā)Jenkins的編譯操作,并將編譯后的包上傳至Nexus中,這時開發(fā)同學只需要選擇他們想要部署的目標主機就可以了。

同時,為了應對平常突發(fā)的流量高峰和節(jié)假日的流量高峰,我們還對接了公司的DCP平臺,可以在我們的Kunkka平臺上自動生成Docker鏡像文件,并上傳公司的鏡像倉庫中,這樣就可以在快速的將服務部署到云主機上,實現(xiàn)服務動態(tài)擴縮容。

整個服務部署過程中,我們還加入了多級審核機制,保障服務上線的安全性。具體流程如圖2-8所示。

 

▲ 圖2-8 Kunkka上線流程圖

3、有效的報警

在服務上線后,我們要做的一個很重要的工作就是給我們的服務添加監(jiān)控報警機制,否則我們就像瞎子一樣,對我們系統(tǒng)服務運行情況一無所知。

關于報警系統(tǒng)業(yè)界優(yōu)秀的報警系統(tǒng)有很多,使用的方案也基本大同小異。我們目前主要用的是開源的Prometheus報警系統(tǒng),這里就不詳細介紹了。

這里主要想說下我們在做報警的一些想法。比如我們經(jīng)常遇到的一個問題就是報警郵件狂轟濫炸,每天能收到成百上千的報警郵件,這樣很容易讓系統(tǒng)中一些重要的報警信息石沉大海。對此,我們主要以下三個方面來考慮:

  • 質疑需求的合理性
  • 報警聚合
  • 追蹤溯源

首先,在業(yè)務方提出報警需求的時候,我們就需要學會質疑他們的需求,因為并不是每個需求都是合理的,其實很多開發(fā)他們并不懂報警,也不知道如果去監(jiān)控自己的服務。這時候就是發(fā)揮我們運維人員的價值了。我們可以在充分了解服務架構屬性的前提下提出我們的意見,和開發(fā)人員共同確定每個服務需要報警的關鍵指標。

其次,我們可以對報警做預聚合。現(xiàn)在我們的服務大都都是多機部署的,一個服務有可能部署到成百上千臺機器上。有時候因為人為失誤或者上線策略等原因,可能導致該服務集體下線,這時就會有成百上千來自不同主機的相同報警信息發(fā)送過來。

對于這種場景,我們可以通過報警聚合的方式,將一段時間內相同的報警合并成一條信息,放在一封郵件里面發(fā)送給開發(fā)人員,從而避免郵件轟炸的情況發(fā)生。關于報警聚合,像Prometheus這樣的報警系統(tǒng)自身已經(jīng)支持,所以也不會有太多的開發(fā)量。

最后,再高層次,我們就可以通過一些策略、算法去關聯(lián)我們的報警。很多時候,一條服務鏈路上的某個環(huán)節(jié)出現(xiàn)問題可能導致整條鏈路上的多個服務都觸發(fā)了報警,這個時候,我們就可以通過服務與服務之間的相關性,上下游關系,通過一些依賴、算法等措施去屏蔽關聯(lián)的報警點,只對問題的根因進行報警,從而減少報警觸發(fā)的數(shù)量。

圖2-9是我們運維團隊17年優(yōu)化報警期間,報警數(shù)量的走勢。

 

▲ 圖2-9 有效的報警

4、全鏈路Trace系統(tǒng)

除了添加報警以外,在服務上線后,我們還會經(jīng)常需要跟蹤我們整個服務鏈路處理請求的性能指標需求。這時就需要有一套全鏈路的Trace系統(tǒng)來方便我們實時監(jiān)控我們系統(tǒng)鏈路,及時排查問題,定位問題。

在全鏈路Trace系統(tǒng)中,最重要的就是Traceid,它需要貫穿整個鏈路,我們再通過Traceid來關聯(lián)所有的日志,從而跟蹤一條請求在整個系統(tǒng)鏈路上的指標行為。圖2-10是我們約定的用于全鏈路Trace的日志格式信息。

 

▲ 圖2-10 日志格式與解析

有了日志后,我們就可以基于這些日志進行分析關聯(lián),就像上面說的,Traceid是我們整個系統(tǒng)的核心,我們通過Traceid來關聯(lián)所有的日志。如圖2-11所示,所有的日志會寫入Kafka中,并通過Flink進行實時的日志解析處理,寫入ClickHouse中。有了這些關鍵指標數(shù)據(jù)后,我們就可以在此基礎上去做我們想做的事,比如形成服務拓撲進行請求跟蹤、日志的檢索以及指標的統(tǒng)計分析等。

 

▲ 圖2-11 數(shù)據(jù)收集與處理

在所有的數(shù)據(jù)收集解析完成后,業(yè)務方就可以根據(jù)一些維度,比如UID,來跟蹤用戶的在整個廣告系統(tǒng)中請求處理情況,如圖2-12所示。隨后再將查詢的數(shù)據(jù)以Traceid維度進行關聯(lián)展示給用戶。

 

▲ 圖2-12 業(yè)務查詢

三、海量指標監(jiān)控平臺Oops實踐

最后我們看下我們如何應對微博廣告海量指標數(shù)據(jù)下多維的監(jiān)控需求。前文也說了,監(jiān)控報警就像我們的眼睛,能夠讓我們實時的看到我們系統(tǒng)內部的運行情況,因此,每一個服務都應該有一些關鍵指標通過我們的監(jiān)控報警系統(tǒng)展示出來,實時反饋系統(tǒng)的健康狀態(tài)。

如圖3-1所示,做一個監(jiān)控平臺很容易,我們將指標、日志等數(shù)據(jù)進行ETL清洗后寫入一個時序數(shù)據(jù)庫中,再通過可視化工具展示出來,對于有問題的指標通過郵件或者微信的方式報警出來。但是在這個過程中,隨著我們數(shù)據(jù)量的增長、我們指標的增長以及查詢復雜度的增加,我們可能會遇到監(jiān)控指標延遲、數(shù)據(jù)偏差以及系統(tǒng)不穩(wěn)定等問題。

 

▲ 圖3-1 監(jiān)控平臺的挑戰(zhàn)

因此,在設計我們的監(jiān)控系統(tǒng)時,就不能僅僅基于實現(xiàn)考慮,還需要考慮它的穩(wěn)定性、實施性、準確性,同時還應盡量把系統(tǒng)做的簡單易用。

 

 

▲ 圖3-2 監(jiān)控平臺的目標

而我們目前的監(jiān)控平臺Oops,也是基于上述原則,經(jīng)歷了多年的迭代和考驗。圖3-3是我們Oops監(jiān)控平臺當前的整體架構。

 

▲ 圖3-3 Oops監(jiān)控平臺架構

① 數(shù)據(jù)采集

整個平臺分為四個層次,首先是我們的數(shù)據(jù)采集。我們當前主要通過Filebeat這樣一款優(yōu)秀的開源采集客戶端來采集我們的日志。對我們使用而言,F(xiàn)ilebeat足夠的高效、輕量,使用起來也很靈活易用。

 

▲ 圖3-4 Filebeat架構圖

② 指標清洗

數(shù)據(jù)采集到Kafka后,我們再根據(jù)具體的業(yè)務需求將指標提取出來。如圖3-5所示,當前我們主要通過Flink來解析日志,并寫入ClickHouse中。

同時,針對一些業(yè)務需求,我們需要將一些指標維度做關聯(lián)處理,這里主要通過HBase實現(xiàn)指標的關聯(lián),比如,有曝光和互動兩個日記,我們將曝光日志中的mark_id字段作為rowkey寫入HBase中,并儲存一個小時,當在時間窗口內互動日志匹配到相同的mark_id時,就將曝光日志的內容從HBase中取出,并與互動日志組合成一條新的日志,寫入到一個新的Kafka Topic中。

此外,我們還將Kafka中數(shù)據(jù)消費寫入ElasticSearch和HDFS中,用于日志檢索和離線計算。

 

▲ 圖3-5 指標清洗

③ 指標儲存

當前,我們通過ClickHouse來儲存查詢我們的監(jiān)控指標。最初也是選擇了流行的時序數(shù)據(jù)庫Graphite。但是在長期的使用中,我們發(fā)現(xiàn)在復雜的多維分析上,Graphite并沒有很好的體驗。在去年,我們將我們的監(jiān)控指標引擎替換成了現(xiàn)在的ClickHouse,ClickHouse是一款優(yōu)秀的開源OLAP引擎,它在多維分析等功能上相比傳統(tǒng)的時序數(shù)據(jù)庫具有很大的優(yōu)勢。

同時,我們基于ClickHouse強大的函數(shù)功能和物化視圖表引擎構建了一個實時的指標倉庫。如圖3-6所示,我們會將清洗后的指標寫入到一張原始表中,比如這里的ods_A,我們再根據(jù)具體的監(jiān)控需求在ods_A表上進行維度的聚合。再比如,我們將請求維度按秒聚合成agg_A_1s,或者按照psid維度按分鐘聚合成agg_A_1m_psid,又或者我們按照用戶id維度來統(tǒng)計每個用戶的訪問次數(shù)。

由此我們可以實現(xiàn)不同時間維度和不同業(yè)務維度的組合分析查詢,同時提升了查詢響應速度,以及數(shù)據(jù)的重復利用率。而原始表的存在也讓我們可以根據(jù)不同的需求定制不同的復雜的聚合表數(shù)據(jù)。

 

▲ 圖3-6 實時指標倉庫

④ 指標可視化

最后,我們通過Grafana實現(xiàn)我們的指標可視化,Grafana應該是當前全球最受歡迎的監(jiān)控可視化開源軟件,它支持很多的數(shù)據(jù)源,而ClickHouse也是其中之一,我們只需要寫一條SQL就可以按照我們的想法在Grafana上以圖表的形式呈現(xiàn)出來。如圖3-7呈現(xiàn)的監(jiān)控圖就是圖3-8這樣一條簡單的SQL實現(xiàn)的。

 

▲ 圖3-7 折線圖監(jiān)控指標

 

▲ 圖3-8 折線圖監(jiān)控指標SQL語句

對于表格的指標監(jiān)控展示,也很簡單,也是一條SQL就能完成的,如圖3-9所示。

 

▲ 圖3-9 表格監(jiān)控指標

當前我們的實時指標倉庫存儲120T的數(shù)據(jù)量,峰值處理QPS在125萬左右,秒級查詢、多維分析,為微博廣告的指標監(jiān)控、數(shù)據(jù)分析以及鏈路跟蹤等場景提供了底層數(shù)據(jù)支撐。

[[283671]]

講師介紹

朱偉,微博廣告SRE團隊負責人,書籍《智能運維:從0搭建大規(guī)模分布式AIOps系統(tǒng)》作者之一。目前負責微博廣告業(yè)務可用性的保障與優(yōu)化、資源利用率的提升、監(jiān)控報警系統(tǒng)的建設以及自動化體系的推進。

 

責任編輯:武曉燕 來源: DBAplus社群
相關推薦

2016-04-06 10:02:23

手機微博運維監(jiān)控

2019-10-22 09:35:46

服務器微博宕機

2017-04-15 21:36:05

微服務新浪微博WOT

2013-06-09 10:38:54

IT運維管理運維管理ITIL管理

2012-04-13 09:51:56

火狐微博助手

2018-10-18 10:40:27

微博服務器運維

2015-02-04 11:45:52

高效運維

2025-04-30 05:00:00

批量運維系統(tǒng)

2015-06-24 10:42:19

云計算運維自動化運維ANSIBLE

2017-07-25 10:53:27

2015-08-05 22:34:33

運維技術

2009-07-01 11:53:00

IT服務運維管理數(shù)據(jù)

2015-07-07 08:58:19

WOT2015新浪微博王傳鵬

2018-12-14 11:04:56

數(shù)據(jù)庫運維智能

2017-01-17 10:25:06

HBase集群運維

2021-01-05 10:09:28

DevOps

2022-07-05 07:46:25

數(shù)據(jù)倉庫運維智能化

2015-08-29 13:03:24

運維技術沙龍MDSA

2015-08-12 16:41:25

運維服務公共化
點贊
收藏

51CTO技術棧公眾號

国产在线视频一区二区三区| eeuss影院在线播放| 国产精品99久久免费| 欧美一卡二卡在线| 91精品国产一区二区三密臀| 久久综合九色综合欧美就去吻| 成人www视频网站免费观看| 精久久久久久| 亚洲视频日韩精品| 亚洲性受xxx喷奶水| 欧洲精品在线观看| 日韩一区二区三区资源| 亚洲视频高清| 在线看黄色av| 欧美日韩国产高清一区二区 | 亚洲中国最大av网站| www.国产区| 久久久久久久国产| 色88888久久久久久影院按摩 | 久久天堂电影网| 香蕉视频一区| 国产精品大全| 日韩精品免费| 日韩精品每日更新| 日韩精品在线一区二区| 菠萝菠萝蜜在线观看| 亚洲免费观看高清| www久久久| 日韩在线精品一区| 日本动漫理论片在线观看网站| 国产精品久久久久久久久久久免费看 | 亚州成人在线电影| 男女羞羞视频网站| 91精品福利视频| 在线观看av中文| av日韩在线网站| 无码人妻精品一区二区蜜桃百度| 韩国一区二区三区视频| 风流少妇一区二区| 99国产视频| 91九色国产在线播放| 日本一二三不卡| 国产高清精品一区二区三区| 欧美大片网站| 久久久久久久久久久久av| av免费在线视| 在线观看网站黄不卡| 免费观看在线午夜影视| 欧美国产精品一区二区三区| 大片在线观看网站免费收看| 狠狠色狠狠色综合日日tαg| 国产精品高潮呻吟久久av野狼| 美女av一区| 青草青草久热精品视频在线网站| 欧美1区2区3区| 91久久精品在线| 国内精品亚洲| 久久精品亚洲国产| 一区二区在线免费播放| 国产亚洲精品综合一区91| av一本在线| 精品国产一区二区三区忘忧草| h片在线观看视频免费免费| 日韩在线视频免费观看| 一区二区三区在线免费看 | 在线视频欧美精品| 污视频免费在线看| 国产精品欧美一区喷水| 91精品国产高久久久久久五月天| 久久伊人中文字幕| 色综合老司机第九色激情| 最近中文字幕mv免费高清在线| 色94色欧美sute亚洲13| 成人免费在线电影| 欧美激情欧美激情| 最新国产精品拍自在线播放| 色天天久久综合婷婷女18| 久久av秘一区二区三区| 一区二区三区视频免费视频观看网站| av成人免费在线观看| 国产在线一区二区三区四区| 激情欧美日韩| 中文字幕中文字幕一区三区| 成人18精品视频| 蘑菇福利视频一区播放| 中国av一区二区三区| 看黄的a网站| 中文字幕日韩专区| 欧美视频导航| 在线观看国产一级片| 亚洲精品在线观| 亚洲国产激情| 九九久久精品| 欧美一性一交| 欧美挤奶吃奶水xxxxx| 久久久午夜视频| 一本色道88久久加勒比精品| 成人免费a级片| 国产视频一区二区不卡| 日本中文字幕视频在线| 中文字幕av在线一区二区三区| 成人在线看视频| 一区二区三区日韩在线| 青青草原在线亚洲| 北条麻妃高清一区| 97精品视频在线观看自产线路二| 中文字幕欧美一区二区| 欧美一区二区三区免费| 久久成人国产| 青草视频在线观看视频| 欧美夫妻性生活| 国产福利一区二区三区视频| 欧美人与牲禽动交com| 免费看污污视频| 欧美艳星brazzers| 风间由美中文字幕在线看视频国产欧美 | 日本午夜一区二区三区| 亚洲国产精品一区二区久久| 成人做爰视频www网站小优视频| 国产精品久久7| 欧美电视剧在线看免费| 亚洲经典在线看| 北条麻妃在线视频| 欧美性色综合网| 天天综合色天天| 亚洲第一搞黄网站| 精品久久久久久国产91| 色就色 综合激情| 亚洲精品videossex少妇| 91视频最新入口| 成人在线电影在线观看视频| 欧美久久久久免费| 久操成人在线视频| 日韩av一区二区三区在线观看| 欧美日韩高清在线一区| 日韩av电影免费在线观看| 色中文字幕在线观看| 国产欧美综合一区| 亚洲精品自拍网| 国产视频网站在线| 国产美女av在线| 国产a亚洲精品| 999久久久精品一区二区| 国内黄色精品| 热久久免费视频| 国产精品久久久久婷婷| 日本乱人伦aⅴ精品| 亚洲国产欧美一区二区丝袜黑人 | 亚洲最大色网站| 欧美精品一级二级三级| 亚洲欧美日韩一区二区三区在线| 日韩一区在线视频| 国产精品成人aaaaa网站| 一本久道久久综合| 蜜桃av噜噜一区二区三区| 又粗又黑又大的吊av| 香蕉国产在线| 国产成人77亚洲精品www| 日本道不卡免费一区| 久久电影国产免费久久电影| 一区二区激情小说| 中文日韩电影网站| 超碰97网站| 2021国产视频| 77导航福利在线| 久久中文资源| 精品一区二区日韩| 亚洲成人动漫av| 97超级碰在线看视频免费在线看 | 日韩大尺度在线观看| 久久激情视频| 中文字幕精品一区二区精品绿巨人| 亚洲欧洲午夜一线一品| 国产精品极品尤物在线观看| 欧美成人高潮一二区在线看| 日本蜜桃在线观看视频| 久久久夜精品| 97视频网站入口| 日韩视频一二区| 欧美国产乱视频| 精品美女久久| 欧美丰满少妇xxxxx做受| 热久久精品免费视频| 97成人资源| 黄一区二区三区| 欧美成人四级hd版| 国产成人夜色高潮福利影视| 色94色欧美sute亚洲线路二| 99在线视频免费观看| 超碰在线电影| 日韩av免费大片| 555www色欧美视频| 国内精品二区| 黄色大片在线看| 亚洲欧美日本伦理| 亚洲一级片在线观看| 国产综合香蕉五月婷在线| 3d黄动漫网站| 国产精品一区2区3区| 欧美一区二区在线看|