Facebook + Instagram + WhatsApp 同時故障,損失上億美金
點選上方“業餘草”,選擇“置頂公眾號”
第一時間獲取技術乾貨和業界資訊!
相信不少人今天上班時候,被各大新聞網站彈出一條訊息,類似 Facebook 全球發生故障之類的新聞。
Facebook 做為全球少有的幾大網際網路巨頭,發生點故障就能引起巨大的波瀾。Facebook 全球十幾億使用者,一時間大家上不了 Facebook。除此之外,Facebook 的 Instagram、WhatsApp 等熱門應用也同時發生故障。
這就是一個典型的故障雪崩效應。一個系統故障,發生雪崩,蔓延至其他系統。這也說明了,Facebook 的熔斷機制,斷路器,短路保護機制做的不夠好!
系統崩了之後,各大使用者瘋狂的上 Twitter 進行吐槽。並且 Facebook 自己也在 Twitter 上釋出訊息承認了此次服務中斷,該公司稱:“我們知道,目前有些人在訪問 Facebook 旗下各個應用程式時遇到了困難。我們正在努力盡快解決這個問題。“
並且 Facebook 證實,這個問題不是 DDoS 攻擊帶來的結果。DDoS 攻擊即“分散式拒絕服務攻擊”,是指黑客通過向一個站點輸送大量虛假流量來發動攻擊。
有網站統計了 Facebook 的問題的報告,多達 1.1 萬多份。使用者報告的問題,呈現各種各樣的,從根本無法載入網站到無法釋出評論等。
也有廣告主吐槽,準備好的廣告,也無法展現。廣告主工具同樣也遭遇了故障,有些廣告主們試圖投放“黑色星期五”(Black Friday)和“網路星期一”(Cyber Monday)廣告。但是,這些廣告都不能進行展現和營銷了。
為此,有人預估了,Facebook 的這次故障,損失至少上億美金。
參考其他網際網路的故障損失,谷歌 2013 年故障 5 分鐘損失 55 萬美元,並且全球流量下跌!另外 2018 年 Prime Day 故障讓亞馬遜損失 $9900 萬。2015 年 App Store 等服務故障導致蘋果損失 2640 萬美元。
微服務轉型,雪崩效應是繞不過的一道坎。Hystrix 的隔離和熔斷,執行緒池隔離和訊號量隔離建議大家多學習學習!Facebook 這是多麼疼的代價。
執行緒隔離技術,也稱是執行緒池隔離技術。最著名的使用者算 Hystrix 了。Hystrix 提供了兩種隔離策略,分散式:執行緒隔離和訊號量隔離。Hystrix 預設的隔離技術就是執行緒池隔離,因為隔離技術有一個除網路超時以外的額外保護層。
THREAD(執行緒隔離):使用該方式,HystrixCommand將會在單獨的執行緒上執行,併發請求受執行緒池中執行緒數量的限制。
SEMAPHORE(訊號量隔離):使用該方式,HystrixCommand將會在呼叫執行緒上執行,開銷相對較小,併發請求受訊號量的個數的限制。
之所以,訊號量隔離 SEMAPHORE 不是 Hystrix 的首選(預設隔離)的原因是,訊號量隔離一般僅適用於非網路呼叫的隔離。比如,操作記憶體等。而對於跨網路的,呼叫負載非常高的(例如每個例項每秒呼叫數百次)才需要使用訊號量隔離,因為這種場景下使用 THREAD 開銷會比較高。
所謂的執行緒隔離主要有執行緒池隔離,在實際使用時我們會把請求分類,然後交給不同的執行緒池處理,當一種業務的請求處理髮生問題時,不會將故障擴散到其他執行緒池,從而保證其他服務可用。
打個比方,在我們的電商系統中,假設現在有 3 個業務呼叫分別是查詢訂單、查詢商品、查詢使用者,且這三個業務請求都是依賴第三方服務-訂單服務、商品服務、使用者服務。三個服務都需要跨網路請求呼叫,可以是 RPC 呼叫,也可以是 Rest 的 HTTP 呼叫。當查詢訂單服務出現故障時,假如執行緒阻塞了,這個時候後續有大量的查詢訂單請求過來,那麼容器中的執行緒數量則會持續增加直致 CPU 資源耗盡到 100%,整個服務對外不可用,叢集環境下就是雪崩。
如果這個故障進行隔離,那麼最終回導致當前業務提供的服務也不可以使用。
如果通過執行緒隔離,那麼就可以避免這種情況。通過設定執行緒池大小來控制併發訪問量,當執行緒飽和的時候可以拒絕服務,防止依賴問題擴散。
對於電商系統來說,如果不做隔離,對於整個系統來說簡直就是災難。故障一秒,損失的就是錢啊。
對於 Hystrix 來說,用它來做服務隔離,是在簡單不過了。看下面的程式碼:
執行緒隔離的優點:
一個服務可以給予一個執行緒池,這個服務的異常不會影響其他的依賴。
使用執行緒可以完全隔離第三方程式碼,請求執行緒可以快速放回。
當一個失敗的服務再次變成可用時,執行緒池將清理,並立即恢復可用,而不是一個長時間的恢復。
可以完全模擬非同步呼叫,方便非同步程式設計。
使用執行緒池,可以有效的進行實時監控、統計和封裝。
執行緒隔離的缺點:
使用執行緒池的缺點主要是增加了計算的開銷。每一個依賴呼叫都會涉及到佇列,排程,上下文切換,而這些操作都有可能在不同的執行緒中執行。
儘管有了執行緒隔離,但是並不意味著我們的程式碼可以隨便寫。必要的規範,超時機制還是要有的。
10T技術資源大放送!包括但不限於:C/C++,Linux,Python,Java,PHP,人工智慧,GO等等。在公眾號內回覆對應關鍵字或框架名字,即可免費獲取!!
你再主動一點點 我們就有故事了
相關文章
- Facebook、WhatsApp、Instagram出現全球大範圍當機APP
- Cream Finance 再次遭受攻擊,損失約1.3億美金NaN
- Facebook、Instagram和WhatsApp全球當機超10小時,自稱與網路攻擊無關APP
- Facebook, Instagram, and WhatsApp當機事件的原因線索(2021-10-04晚開始)APP事件
- Facebook :WhatsApp日活躍使用者超4.5億 每日發訊息650億條APP
- Flutter 分享功能:facebook,whatsapp,twitter和系統分享FlutterAPP
- 做了14年還在上億美金的虧損 Roblox上市憑什麼?
- 再損失6600萬美金,強化企業資訊保安保障刻不容緩
- IATA:全球航空業損失將升至2520億美元
- GitHub和75億美金Github
- IOU損失
- 400億美金“賣身”NVIDIA 失敗,ARM 將在全球裁員 1000 多人
- Match:2022年戀愛詐騙受害者損失超過13億美元 平均損失為4400美元
- Beanstalk DeFi平臺遭攻擊損失1.82億美元Bean
- Sojern:2019年Facebook和Instagram旅遊廣告報告
- 滑鼠和鍵盤同時失靈應該怎麼辦 win10滑鼠鍵盤突然同時失靈Win10
- Digiday Research:Facebook演算法變化導致釋出商損失75%的流量演算法
- 損失函式函式
- 加密貨幣詐騙今年已造成77億美元損失加密
- 2021年社交媒體營銷報告:Facebook vs. Instagram
- Chainalysis:2019年加密貨幣黑客損失超過2.83億美元AI加密黑客
- 2020年新冠疫情下民航業損失或達1000億
- GBTA:全球商務旅行收入或因疫情損失8200億美元
- Coinmarketcap:全球加密貨幣市值一天損失215億美元加密
- 兩年損失1.8億,國產單機遊戲之痛遊戲
- MarshalByRefObject 的效能損失Object
- 交叉熵損失CrossEntropyLoss熵ROS
- 3D高斯損失函式(1)單純損失函式3D函式
- Socialbakers:2019年第三季度Instagram和Facebook報告
- Pew:只有29%的美國民眾知道Instagram由Facebook擁有
- 抖音伺服器頻寬有多大,才能供上億人同時刷?伺服器
- 高速公路延誤經濟損失可高達2.5億美元
- Facebook首次揭秘:超過10億使用者使用的Instagram推薦演算法是怎樣煉成的?演算法
- 新資料顯示WhatsApp的隱私問題對Facebook影響有多大APP
- 損失函式綜述函式
- Triplet Loss 損失函式函式
- Pytorch 常用損失函式PyTorch函式
- 64億封假郵件、120億美元損失 虛假電子郵件困擾全球