這篇文章算是我在工作的第一個年頭里關(guān)于架構(gòu)方面的收獲與思考的一篇總結(jié)性的文章吧,感覺還是有些深度的,所以嘗試投稿到InfoQ上,果真被收錄了,很開心。從7月底開始動筆,中間因為各種偷懶和一些難以預(yù)料的事情拖了很久,終于填坑完畢了?;厥走^去的一年,還是搞了點事情的,這是一個結(jié)束,更是一個新的開始。
1.前言
抽獎是一個典型的高并發(fā)場景應(yīng)用,平時流量不多,但遇到大促活動,流量就會暴增,今年的周年慶期間的日均UV就超過百萬。在過去的一年里,負責(zé)過這個項目的多次重構(gòu)工作,期間各種踩坑無數(shù),就以此文當(dāng)做總結(jié),來聊聊我們是如何架構(gòu)這個高并發(fā)系統(tǒng)吧。
2.整體設(shè)計詳解
在我看來,能提高服務(wù)器應(yīng)對并發(fā)的能力的方式無非兩種:
限流削峰:通過降低實際抵達服務(wù)器的并發(fā)量,降低服務(wù)器處理壓力;
性能優(yōu)化:從前臺到硬件,優(yōu)化系統(tǒng)各方面性能,提高服務(wù)器處理能力。
接下來我們圍繞這兩個方面談?wù)勗?號店抽獎系統(tǒng)中所做的工作和遇到的坑。
整體架構(gòu)如下圖: