天天看點

Java學習之系統高可用性渲染接口日志自動服務降級

背景:公司都追求系統的高可用性,這裡不可用時間就是其中很重要的一個名額,為此在做系統功能更新疊代的過程中如何快速處理異常恢複正常功能極為重要。現在對新增子產品的

要求是都增加開關,友善快速關閉異常子產品,但是如果開關隻是一個配置需要人為手動幹預才能達到關閉異常子產品的作用,其中遠端連接配接伺服器,修改配置檔案,重新開機網站等動作不

免要浪費好多的系統不可用時間,是以這裡提出一個自動服務降級的想法,在程式出現異常時自動修改功能子產品開關關閉異常子產品,這樣就可以将不可用時間降到最低。

執行個體:這裡以渲染接口日志記錄功能異常自動禁用功能本身的做法為例,介紹這種思路,這個功能開關是一個web.config配置檔案的鍵值對,由于IIS是每個請求對應一個程序的,所

以每次進來都會初始化靜态變量,重新讀取配置檔案,是以必須修改配置檔案才能關閉此功能,不能單單隻修改靜态變量的值,而修改檔案又要防止沖突這裡是多程序間的沖突,而

對于程序間互斥的方法這裡采用Mutex來處理,具體代碼如下:

Java學習之系統高可用性渲染接口日志自動服務降級
Java學習之系統高可用性渲染接口日志自動服務降級
Java學習之系統高可用性渲染接口日志自動服務降級