當前位置:編程學習大全網 - 源碼下載 - 北大青鳥java培訓:系統故障的解決方法?

北大青鳥java培訓:系統故障的解決方法?

要知道,每壹個程序系統都不是單獨存在的,而是由眾多小系統組成的。

而今天我們就壹起來了解壹下,關於系統故障的問題應該如何發現和解決。

故障發現所謂“故障發現”,就是通過技術手段實時采集系統中每個節點的健康狀態,以及每2個節點之間鏈路的健康狀態,包括但不限於調用成功率、響應時間等等。

借此代替我們的眼睛去盯著整個系統,壹旦低於某個設定的閾值,就觸發報警給我們壹個提醒。

因為當妳的系統中存在成百上千的程序時,靠肉眼去找到發生故障的位置,簡直是天方夜譚。

哪怕找到了,也可能已經產生了巨大的損失。

負責故障發現的解決方案都屬於應用性能管理(APM)範疇。

我們在部署這個“眼睛”的時候,需要考慮到全方位的覆蓋,要包含所有的節點。

比如:在Web方面可以直接利用瀏覽器提供的導航計時(NavigationTiming)和資源計時(ResourceTiming)接口來采集性能數據,非常方便。

在iOS、Android這種App方面通過源代碼插樁的方式進行。

比如直接引入采集SDK然後硬編碼在源代碼中,或者通過AOP框架來進行動態代碼註入。

代碼的註入位置就在每個方法的執行前和執行後。

故障消除現在已經能夠很容易的發現故障了,我們就可以通過綜合運用隔離性、橫向擴展、代理、負載均衡、熔斷、限流、降級等等機制來快速的“掐滅故障”。

分布式系統的規模越大,耦合越嚴重,各個子系統之間通過網絡連接在壹起,就如赤壁之戰中的曹軍連在壹起的船舶壹樣,只要其中壹個著火了就會就近蔓延。

所以,成都IT培訓/建議壹旦發現某個子系統掛了,就需要盡快切斷與它的聯系,保證自己能夠不受連累,防止雪崩的發生。

我們可以先運用docker之類的技術將每個應用在運行時的環境層面隔離開來。

然後,通過橫向擴展讓每個應用允許被“Copy”,以此來部署多個副本。

接著,結合代理和負載均衡讓這些副本可以***同對外提供服務,使得每個應用程序本身先具備“高可用”。

後的三大防禦措施,熔斷、限流、降級來快速“掐滅故障”,避免故障在不同的應用程序間擴散。

  • 上一篇:心理治療師報考條件?
  • 下一篇:大數據共享源代碼
  • copyright 2024編程學習大全網