兩天前,項目經(jīng)理把我叫過去,有個任務交給你:并發(fā)量貌似有點大,你好好搞一下, 這是鍛煉你的機會, 此時的我一臉懵逼,嗯,需求做完了,上線后:
第一天:?
數(shù)據(jù)庫cpu暴增, 服務器cpu暴增, 系統(tǒng)崩潰,查一下接口訪問量,單秒接口訪問5w多,查出有人刷接口, 怎么搞?運維小哥,搞個腳本,防ip, 嗯,上線,下午繼續(xù)觀察,不行數(shù)據(jù)庫壓力還是大, 怎么搞,前端加驗證碼,減緩并發(fā)
第二天:
和大佬們討論一下如何優(yōu)化,防止刷接口, 對某些刷接口的用戶加入黑名單,黑名單放進緩存里面, 庫存如何處理,庫存也使用redis處理,此時此刻發(fā)現(xiàn),redis真的是超 級牛逼,然后對各種查詢的加上緩存, 那數(shù)據(jù)庫扣減庫存或者由于失敗的恢復庫存如何搞, 對于DB的操作統(tǒng)一走mq異步處理, 完美上線, 完美解決
項目經(jīng)理:怎么樣,高并發(fā)也不是那么難吧,我們現(xiàn)在也僅僅是使用緩存加mq來處理,如果有es會不會效果更牛逼呢, 瞬間逼格就上來了
嗯,感覺高并發(fā)也不是很難吧!貌似學到一點東西
工欲善其事,必先利其器,任何問題都有解決的辦法,不要慌!?。?/i>
想了解開發(fā)中遇到的更多坑?歡迎持續(xù)關(guān)注我的公眾號, 都是親身經(jīng)歷!