拼多多被薅羊毛事件是什麼

2021-09-26 05:22:42 字數 2376 閱讀 2510

週日的拼多多事件經過乙個週日和乙個周一的發酵,想必大部分人都已經知道了,有些人在感慨為什麼自己每次都是在別人薅羊毛結束才知道沒能參與,有些人在趁機推自家廣告,有些人在做事件覆盤總結…當然,我也難免落入俗套,也做個技術方面的總結,別人做過的總結我盡量避免重複,重點從開發人員角度說一下類似於拼多多這種量級的系統日常開發和運維要注意的一些問題。

一、監控

個人認為監控是這次事件裡最值得關注的地方。乙個成熟的系統,除了功能完善之外,監控是必不可少的。這裡說的監控主要包括兩方面,一是業務方面,一是介面級別。

1)業務方面的監控。當乙個系統流量大到一定程度時,就可以額外出現很多資料,一定時間(一分鐘或幾分鐘)內單量總量、一定時間內支付總額、一定時間內支付次數、相比上一小時的漲跌幅、相比昨日相同時間段的漲跌幅、相比一周前相同時間段的漲跌幅等等,明顯的漲跌都可能有問題的。我們系統目前每天千萬單,高峰期每分鐘幾萬單,剛才介紹的這類監控都有了,任何漲跌幅超出預期都會報警

2)介面級別的監控。介面級別主要包含請求qps、響應時間(tp99、tp90等)、異常等的監控。

這次事件,明顯的介面請求量**以及業務指標**,正常都應該會觸發報警。半夜遇到這種問題,如果有擔心半夜報警看不到,可以考慮**報警通知,自己之前接入過阿里大於和twillio等語音報警api,都是很容易的。

二、降級

這類問題如何避免呢?我們最喜歡的處理就是降級,對這個券完全降級,或者對券相關的功能進行臨時降級(當然,需要**裡提前留好降級開關及預案,且經過驗證),出問題後不能直接確認影響或根本原因時,先降級保證不會再出現,再跟進細查。我們平時會要求任何可降級的操作都必須支援降級,相當於在開發時考慮好異常的情況,並在qa時驗證降級的處理。

三、線上運維

很多人都說網際網路公司工作累,要求24小時誰叫誰到(我經歷的公司基本都是這個要求的),只要線上有問題,不管當前是什麼時間,都要第一時間處理,自己不方便處理也要確認找到其他人處理,直至線上問題原因確認並得到解決。乙個合格的開發人員一定要對負責的系統有主人翁意識。

印象深刻的是一次要趕早班飛機,凌晨5點半出發,走到半路領導發現第三方資料出問題了,就開啟電腦開始解決,然後在登機之前參與了1個小時的處理,後來同事們挨個上線開始處理,等飛機降落時開啟手機,發現同事們已經都處理好了。

四、敬畏心

線上任何操作(發布、調整配置、查問題等)都要保持一顆敬畏之心,不要有任何僥倖心理,陰溝裡翻船是常有的事情,常在河邊走沒有不濕鞋的。如果是**有問題帶來線上問題,如何才能快速有效的解決問題是一件值得認真思考的事情。操作不慎或者有疏漏,很有可能擴大問題影響,或者引發其他問題。既然已經出問題了,那麼溝通確認最佳的處理方式是非常關鍵的。

五、開發

接下來說下非常關鍵的,開發環節。流量越大的系統越需要注意細節,許多人總是感覺高併發系統特別神秘,其實高併發系統相比非高併發系統最大的差別,就是開發時對細節的注意。

舉個最簡單的例子,比如要做db更新操作,說白點就是執行乙個update操作,如果是我自己開發,我會考慮以下內容:

1)更新時一定要有返回值,並處理返回值

2)更新時要加樂觀鎖更新,這代表可能會樂觀鎖檢查失敗導致沒有更新

3)更新時是否拋異常

為什麼需要考慮這些內容呢?高併發系統由於流量大,網路隨便出點問題影響都會被放大,伺服器可能會宕機,db操作很容易出現短時間一堆超時(超時的異常可能成功也可能沒成功),併發高時很容易出現更新的操作中間出現其他的更新操作,導致更新後不再符合業務正常邏輯…基於多種考慮,乙個普通的update操作也需要考慮的很複雜。這也是高併發系統開發經驗的寶貴之處,會培養你對每一行**都要全面考慮的思維和習慣。

除此之外,開發過程中,還要額外考慮修改/新增的操作對系統及元件的影響(qps變化對伺服器的影響、對db壓力的大致影響、對涉及元件的大致影響、對其他業務的影響、出錯後的降級處理…),養成習慣後,這些考慮點就是你開發任何乙個需求任何乙個介面都習慣性的考慮的點了。考慮的多了,出問題的概率就會小了。事前做的充分,總比事中慌亂、事後總結好的多。

關於開發,最後一點,是一定要認真review需求的細節及合理性,

六、事後總結

或許這個稱作故障review更符合網際網路公司的風格。既然線上出問題了,肯定是**做的不對,那麼就需要相關人等坐在一起review一下根本原因,線上的問題基本上都是一連串各個環節有問題導致的。發現不足,提出改進建議,之後大家都去遵守避免出現故障的流程規範,那麼以後線上才可能少出問題。總之,流程的規範非常重要。

其實,大公司線上出現故障非常常見,互相之間誰也沒必要笑話誰,但是出現故障後如何快速有效的恢復正常卻很能看出乙個公司的水平,每個公司也都是在故障中逐漸成長,盡可能的避免掉一些沒必要的故障。沒有誰喜歡故障,沒有誰希望自己是惹出故障的責任人,但是要盡可能的減少故障,必須不斷的規範流程、強化開發能力及意識、多總結多改進。當前沒問題不代表沒有問題,也不要等到問題出現時才開始想著去改進。

拼多多的羊毛被誰薅了?

每經記者 張斯 趙雯琪 實習編輯 王麗娜 一覺醒來,拼多多可能丟了200多億。1月20日,有反映,從20號凌晨開始,拼多多出現了乙個巨大漏洞,使用者可以領取100元無門檻券。對此,拼多多方面對 每日經濟新聞 回應稱,1月20日晨,有黑灰產團夥通過乙個過期的優惠券漏洞盜取數千萬元平台優惠券,進行不正當...

拼多多現重大Bug,一晚被薅羊毛數千萬!

臨到要發年終獎的時候,出這麼大的 bug,哎 今日訊息,微博爆料稱拼多多出現重大 bug 100 無門檻券隨便領,據說一晚上被人薅了 200 多億!從曬出的看,此次 100 元無門檻券全場通用 特殊商品除外 有效期一年。有表示,凌晨 3 點多被同行 喊醒 讓來拼多多 薅羊毛 只需支付 4 毛錢,就可...

區塊鏈中的薅羊毛,你被薅了嗎

自從區塊鏈被炒得火熱之後,似乎什麼東西都要跟區塊鏈掛上鉤,比如華為的區塊鏈手機 京東的區塊鏈防偽追溯平台等。區塊鏈也是如此,要不然它前期研發投入那麼多的資金怎麼收回呢,就是通過後期為人們提供服務以及其它的一些途徑進行收回的。事實上有很多人知道其中的大道理,但無奈的是他們不懂得其中的技術或英語。那麼他...