天天看點

灰階釋出是什麼?

聽群裡大牛聊天,又聽到一個新的詞彙,灰階釋出。

搜尋了一圈,寫寫自己的了解

灰階釋出

我第一個想到了灰色收入,多指那些不正當的收入。

灰階釋出似乎是介于釋出和不釋出中間的一個地帶。而且常見于網際網路公司。為了不影響使用者的使用,不中斷服務進行更新。

尤其是體量巨大的網際網路公司幾乎沒有哪家會釋出公告,停機更新。

灰階釋出是指在黑與白之間,能夠平滑過渡的一種釋出方式。AB test就是一種灰階釋出方式,讓一部分使用者繼續用A,一部分使用者開始用B,如果使用者對B沒有什麼反對意見,那麼逐漸擴大範圍,把所有使用者都遷移到B上面來。灰階釋出可以保證整體系統的穩定,在初始灰階的時候就可以發現、調整問題,以保證其影響度。

對于app來說,可以通過對使用者行為的推斷,例如每次更新版本就會有一批使用者熱衷于嘗鮮,也有一部分使用者,基本從不更新。在這批使用者使用過程中,根據他們的意見改進,同時也可以測試生産環境下新的系統,算法等健壯性,穩定性。為真正釋出版本提供寶貴的回報。

對于一個背景服務的更新,通常企業級都需要叢集來提供服務,通過調節負載均衡的權重,讓新的代碼暫時隻處理少部分的業務,根據生産環境下的日志資訊等,修改bug,優化性能。逐漸完善,同時逐漸增加新服務的權重,平穩的過渡到新系統上。

系統的更新總是伴随着風險,無論測試過幾遍,總是不可能完全覆寫生産環境上的極端情況。

傳統的更新,被稱為系統的切割,老系統退役,新系統上線。一旦出現問題,回退非常的棘手。但是灰階釋出可以靈活的處理這些問題,把不可控因素一點點暴露,不會導緻災難性的服務停止。

微信前不久推出了實驗室這個功能,裡面包括了搜一搜,看一看等。

其實這個先進的想法來自于google lab。google lab可以讓使用者自己選擇是否嘗試新的特性,并且可以随時關閉,可以說是非常的人性化,也可以看到國内企業在吸收國際公司的有點。

參考文章都非常的不錯,分享給大家,有興趣的可以看一看。

關于灰階釋出的實作方法,架構邏輯等等,不要覺得自己離這些很遙遠,做一個視野廣闊的程式員。

參考文章

http://blog.csdn.net/hys19920320/article/details/50899932

http://blog.csdn.net/aresiii/article/details/49125369

http://www.jianshu.com/p/eeceac29f390

繼續閱讀