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

解決復(fù)雜問題的第一步是隔離

新聞
最近我們直播可能要邀請一個明星,據(jù)說帶來的在線人數(shù)比較高。聽到這個事情,我的第一反應(yīng)不是直播系統(tǒng)本身的壓力,反而是整個系統(tǒng)的壓力,因為有人看直播,必須注冊、登陸、進入直播間,這些流量帶來的壓力不是很好評估。

 [[351519]]

本文轉(zhuǎn)載自微信公眾號「虞大膽的嘰嘰喳喳」,作者虞大膽。轉(zhuǎn)載本文請聯(lián)系虞大膽的嘰嘰喳喳公眾號。  

最近我們直播可能要邀請一個明星,據(jù)說帶來的在線人數(shù)比較高。

聽到這個事情,我的第一反應(yīng)不是直播系統(tǒng)本身的壓力,反而是整個系統(tǒng)的壓力,因為有人看直播,必須注冊、登陸、進入直播間,這些流量帶來的壓力不是很好評估。

解決復(fù)雜問題的第一步就是分解問題,所以可以先專注直播系統(tǒng)本身,至少要讓它健壯的運行。

對于直播,分為兩部分,核心推拉流用的第三方的,暫時忽略;第二部分就是一些輔助API接口(比如進入房間,在線用戶列表),這些是需要重點衡量的。

直播系統(tǒng)API本身相對容易做容量評估,為什么呢?你把它當(dāng)作一個封閉的系統(tǒng)單元,比如開一場直播,調(diào)用了那些接口,接口調(diào)用量都可以直接grep統(tǒng)計出來,也能找到峰值,注意這個峰值可以是單接口的峰值,也可以是匯總接口的峰值,第二個指標(biāo)更有意義,可以統(tǒng)計出峰值對應(yīng)的在線用戶數(shù),資源消耗量(流量,redis,mysql),從而進行容量預(yù)估。

各個接口之間的調(diào)用比例是多少呢?可以取平均值(這是我這次學(xué)習(xí)到的),比如在線用戶接口平均每秒是10次,進入房間接口平均每秒1次,通過這種關(guān)系,大概明確了什么接口對系統(tǒng)的影響更大,什么接口響應(yīng)時間較慢。

這種接口調(diào)用比例實際上對真實的壓測非常有意義。

那為什么現(xiàn)在沒有統(tǒng)計出呢?核心原因在于資源使用目前是耦合的,所以暫且拋開系統(tǒng)壓測和容量預(yù)估部署,解決復(fù)雜問題最好的方法就是隔離、隔離。

隔離的好處是什么?互不影響;更方便的統(tǒng)計;進一步衡量系統(tǒng)的健壯性。

首先考慮web服務(wù)器,就是阿里云ECS,直播系統(tǒng)的高峰是可控的,比如知道那個明顯要來了,也許高峰期可能就2小時,所以采用按量付費的ECS非常合適,1小時不到2元。

乘著這次機會重新安裝了一臺web服務(wù)器(包括所需要的軟件),然后做了個鏡像,再申請ECS的時候就可以直接選擇這個現(xiàn)成的鏡像,非常方便,如果不考慮現(xiàn)在更流行的docker&k8s,這種云服務(wù)的可擴展性也是讓人很驚嘆的。

當(dāng)然這種方式不是說秒級就能擴容,還是有很多細(xì)節(jié)的問題,比如預(yù)先并不知道新申請服務(wù)器的ip地址,掛載到slb的時候,也要手動配置。

雖然阿里云也有云服務(wù)API(不用登陸控制臺),可以通過程序控制ECS的啟動,配置,但目前至少我們可以不采用,畢竟前提是我們知道直播高峰期什么時候來,可以提前做準(zhǔn)備。

其次考慮SLB,這次把直播SLB也剝離出來了,原來我傾向購買包年包月的實例,有兩點原因。

1:官方說包年包月峰值帶寬更有保障。2:如果一個業(yè)務(wù)平時訪問畢竟均勻,使用包年包月成本更低。

但我們業(yè)務(wù)突飛猛進,動不動就能一個峰值,而為了這個峰值,需要購買更高流量包(包年包月),確實比較耗費成本。

最終選擇直播SLB購買按量付費,成本可控,而且非高峰期也可以回收,使用原有SLB,這個過程能夠自動化就更好了。

然后是數(shù)據(jù)庫,直播系統(tǒng)本身使用的數(shù)據(jù)存儲量并不高,所以暫時沒有使用阿里云RDS,使用自建且獨立的mysql 5.7,不知道其他公司是如何的,從成本角度考慮,自建mysql和阿里云RDS可以并行存在。

最后就是Redis,隔離Redis也很簡單,如果直播業(yè)務(wù)是將redis當(dāng)緩存使用,或者redis數(shù)據(jù)也會同步到mysql,那么購買按量付費的redis也是比較合適的。

選擇何種規(guī)格的redis,建議關(guān)注連接數(shù),只是目前還沒有找到峰值和redis連接數(shù)之間的關(guān)系。

對于高峰,首先要做壓測,其次要做容量評估,接著是隔離,最后是應(yīng)用層優(yōu)化。

對于應(yīng)用層優(yōu)化要持續(xù)做,原因很簡單,優(yōu)化一小步,成本就會減少很多,系統(tǒng)的支撐能力就會變大。

遇到一個問題,我的第一反映就是先優(yōu)化,本質(zhì)上是沒有錯誤的,但是優(yōu)化的成本要小于優(yōu)化的效果,至少別影響業(yè)務(wù)開發(fā),經(jīng)驗告訴我們,在初期,優(yōu)化的效果是很明顯的。

三板斧:減少接口調(diào)用,數(shù)據(jù)緩存化,策略優(yōu)化(結(jié)合需求)。

后面還會再寫兩篇,理理思路。

 

責(zé)任編輯:武曉燕 來源: 虞大膽的嘰嘰喳喳
相關(guān)推薦

2021-01-15 18:17:06

網(wǎng)絡(luò)協(xié)議分層

2010-07-01 13:44:12

2015-06-02 11:42:00

Cloud FoundAzure

2019-11-20 10:54:46

無密碼身份驗證網(wǎng)絡(luò)安全

2009-01-18 08:49:04

Java入門JDK

2013-01-15 09:17:11

2012-07-11 16:43:14

飛視美

2011-07-25 14:17:46

BSMIT運維北塔

2012-08-30 11:14:11

云計算虛擬化

2020-07-22 22:10:34

互聯(lián)網(wǎng)物聯(lián)網(wǎng)IOT

2018-02-10 11:24:39

Python數(shù)據(jù)程序

2021-08-24 05:07:25

React

2020-11-17 14:55:36

亞馬遜云科技遷移

2010-11-05 10:32:50

云應(yīng)用程序規(guī)劃

2024-02-26 10:08:01

2013-04-03 09:22:14

虛擬化網(wǎng)絡(luò)虛擬化

2017-09-19 09:36:55

思科服務(wù)

2010-01-21 10:29:54

java認(rèn)證

2009-04-09 10:23:08

2009-02-02 23:18:25

虛擬化VMware整合評估
點贊
收藏

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