主頁 >
軟體設計 > 讀發布!設計與部署穩定的分布式系統(第2版)筆記22_實體層之日志
讀發布!設計與部署穩定的分布式系統(第2版)筆記22_實體層之日志
2023-07-10 08:11:00 軟體設計

1. 記錄日志
1.1. 傳統的日志檔案仍然是最可靠和最靈活的資訊載體
1.2. 日志檔案反映應用程式內部的活動,因此它們能揭示應用程式的即時行為
1.3. 沒有比日志檔案更松散的耦合方式了,而且每個框架或工具都可以抓取日志檔案
2. 成功運用日志的關鍵事項
2.1. 日志的存放位置
2.1.1. 對物理機器來說,將它們保存在單獨的驅動器上是個很好的做法
2.1.2. 實體在虛擬機中運行,將日志檔案從應用程式代碼中分離出來也是一個好主意
2.1.2.1. 需要鎖定代碼目錄,并且寫入權限要盡可能小,甚至沒有
2.2. 日志級別
2.2.1. 大多數開發人員在撰寫日志時,仿佛自己是日志檔案的主要消費者
2.2.2. 運維團隊的系統管理員和運維工程師將花費更多的時間與這些日志檔案打交道
2.2.3. 記錄日志應該面向生產環境的運維人員,而非開發人員或測驗人員
2.2.4. 任何級別為“錯誤”或“嚴重”的日志記錄都需要交由運維人員來采取措施
2.2.4.1. 并非所有例外都需要記錄為錯誤,如果僅僅因為用戶輸錯了信用卡號碼,造成驗證組件拋出一個例外,就不需要運維團隊處理
2.2.4.2. 用“錯誤”標記嚴重的系統問題,如斷路器跳閘至“斷開”
2.2.5. 在生產環境中除錯日志
2.2.5.1. 構建程序中添加一個步驟,自動洗掉任何啟用“除錯”級別或“跟蹤”級別的配置
2.3. 日志讀者
2.3.1. 需要便于讀者閱讀,這一點高于一切
2.3.1.1. 對資訊的誤解會造成經濟損失,影響聲譽
2.3.2. 必須確保日志檔案能向其讀者傳達清晰、準確和可操作的資訊
2.3.3. 在格式上應盡可能地便于讀取
2.3.3.1. 缺乏列對齊,且需要從左到右“掃描”來閱讀的格式絕對不能采用
2.4. 巫毒運維
2.4.1. 對早期人類來說,那些能探知不存在的模式的人比不能探知真實模式的人更容易將基因傳遞下來
2.4.1.1. 前者在看到類似豹子身上明暗相間的花紋,便從灌木叢中逃跑
2.4.1.1.1. 假陽性錯誤(所探知的模式是不存在的)的代價很低
2.4.1.2. 后者甚至不能辨認叢林中的豹子
2.4.1.2.1. 假陽性錯誤(所探知的模式是不存在的)的代價很低
2.5. 日志資訊應包含可用于跟蹤事務步驟的識別符號,這可能是用戶ID、會話ID、事務ID,甚至是接受請求時分配的任意數字
3. 實體的健康度量指標
3.1. 實體是組成系統的基本構件
3.2. 實體本身并不能說明整個系統的健康狀況
3.3. 可以發出一些度量指標,這些指標可被集中地收集、分析和可視化
3.3.1. 只需要定期在日志檔案中插入一行統計資訊,日志抓取工具越強大,這種做法的優勢越明顯
3.4. 健康狀況檢查是流量管理的重要組成部分
3.4.1. 解釋度量指標是有難度的
3.4.2. 當新實體的健康狀況檢查結果從失敗轉移到通過時,就意味著該應用程式已完成啟動
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/556895.html
標籤:其他
上一篇:重溫設計模式 --- 觀察者模式
下一篇:返回列表
-
- 標籤雲
-
-
- 熱門瀏覽
-
-
面試突擊第一季,第二季,第三季
第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......
uj5u.com 2020-09-10 05:35:24 more
-
第三單元作業總結
1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......
uj5u.com 2020-09-10 05:35:41 more
-
北航OO(2020)第四單元博客作業暨課程總結博客
北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......
uj5u.com 2020-09-10 05:35:48 more
-
BUAA_OO_第四單元
一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......
uj5u.com 2020-09-10 05:35:54 more
-
6.1邏輯運算子
邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......
uj5u.com 2020-09-10 05:35:56 more
-
BUAAOO 第四單元 & 課程總結
1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......
uj5u.com 2020-09-10 05:36:06 more
-
談談我對C# 多型的理解
面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......
uj5u.com 2020-09-10 05:36:09 more
-
Python 資料驅動工具:DDT
背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......
uj5u.com 2020-09-10 05:36:13 more
-
Python里面的xlrd模塊詳解
那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......
uj5u.com 2020-09-10 05:36:28 more
-
當我們創建HashMap時,底層到底做了什么?
jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......
uj5u.com 2020-09-10 05:36:38 more
-
- 最新发布
-
-
讀發布!設計與部署穩定的分布式系統(第2版)筆記22_實體層之日志
 # 1. 記錄日志 ## 1.1. 傳統的日志檔案仍然是最可靠和最靈活的資訊載體 ## 1.2. 日志檔案反映應用 ......
uj5u.com 2023-07-10 08:11:00 more
-
重溫設計模式 --- 觀察者模式
## 引言 **觀察者模式**是一種行為型設計模式,它允許物件之間建立一種一對多的關系,使得當一個物件狀態改變時,所有依賴它的物件都能夠自動得到通知并更新自己的狀態。該模式可以幫助我們實作松耦合的系統,以便更好地應對變化和擴展。 在觀察者模式中,有兩個角色:**觀察者**和**被觀察者**。被觀察者 ......
uj5u.com 2023-07-10 08:10:54 more
-
重溫設計模式 --- 工廠方法模式
## 引言 **工廠方法模式**是一種創建型設計模式,它定義了一個用于創建物件的介面,但是讓子類決定將哪一個類實體化。換句話說,工廠方法模式讓一個類的實體化延遲到其子類。 工廠方法模式有以下幾個主要角色: - 抽象工廠(AbstractFactory):宣告用于創建抽象產品的操作的介面。 - 工廠實 ......
uj5u.com 2023-07-10 08:10:50 more
-
重溫設計模式 --- 抽象工廠模式
## 引言 **抽象工廠模式**一種創建型設計模式,它提供了一種方式來封裝一組具有相同主題的工廠,而不必指定它們具體的類。這樣,客戶端代碼就可以使用抽象工廠來創建一組相關的物件,而不必關心實際創建的具體類。 抽象工廠模式有以下幾個主要角色: - 抽象工廠(AbstractFactory):宣告用于創 ......
uj5u.com 2023-07-10 08:10:46 more
-
重溫設計模式 --- 觀察者模式
## 引言 **觀察者模式**是一種行為型設計模式,它允許物件之間建立一種一對多的關系,使得當一個物件狀態改變時,所有依賴它的物件都能夠自動得到通知并更新自己的狀態。該模式可以幫助我們實作松耦合的系統,以便更好地應對變化和擴展。 在觀察者模式中,有兩個角色:**觀察者**和**被觀察者**。被觀察者 ......
uj5u.com 2023-07-10 08:10:34 more
-
重溫設計模式 --- 工廠方法模式
## 引言 **工廠方法模式**是一種創建型設計模式,它定義了一個用于創建物件的介面,但是讓子類決定將哪一個類實體化。換句話說,工廠方法模式讓一個類的實體化延遲到其子類。 工廠方法模式有以下幾個主要角色: - 抽象工廠(AbstractFactory):宣告用于創建抽象產品的操作的介面。 - 工廠實 ......
uj5u.com 2023-07-10 08:10:30 more
-
重溫設計模式 --- 抽象工廠模式
## 引言 **抽象工廠模式**一種創建型設計模式,它提供了一種方式來封裝一組具有相同主題的工廠,而不必指定它們具體的類。這樣,客戶端代碼就可以使用抽象工廠來創建一組相關的物件,而不必關心實際創建的具體類。 抽象工廠模式有以下幾個主要角色: - 抽象工廠(AbstractFactory):宣告用于創 ......
uj5u.com 2023-07-10 08:10:25 more
-
讀發布!設計與部署穩定的分布式系統(第2版)筆記22_實體層之日志
 # 1. 記錄日志 ## 1.1. 傳統的日志檔案仍然是最可靠和最靈活的資訊載體 ## 1.2. 日志檔案反映應用 ......
uj5u.com 2023-07-10 08:04:54 more
-
使用第一性原理思維思考如何打造提高生產力的平臺
數字化轉型會帶來大量的研發需求,如何更好更快的交付這些需求成為一個突出問題,該怎么打造一個平臺去解決該問題?能不能用第一性原理思維去推匯出發展方向? ......
uj5u.com 2023-07-08 08:11:56 more
-
使用第一性原理思維思考如何打造提高生產力的平臺
數字化轉型會帶來大量的研發需求,如何更好更快的交付這些需求成為一個突出問題,該怎么打造一個平臺去解決該問題?能不能用第一性原理思維去推匯出發展方向? ......
uj5u.com 2023-07-08 08:11:43 more
- 友情鏈接
-
-