-
主流微服務全鏈路監控系統之戰
問題背景隨著微服務架構的流行,服務按照不同的維度進行拆分,一次請求往往需要涉及到多個服務。互聯網應用構建在不同的軟件模塊集上,這些軟件模塊,有可能是由不同的團隊開發、可能使用不同的編程語言來實現、有可能布在了幾千臺服務器,橫跨多個不同的數據中心。因此,就需要一些可以幫助理解系統行為、用于分析性能問題的工具,以便發生故障的時候,能夠快速定位和解決問題。全鏈路監控組件就在這樣的問題背景下產生了。最出名
2021-11-04 shuai.chang
-
基于 Nginx+lua+Memcache 實現灰度發布
一、灰度發布原理說明灰度發布在百度百科中解釋:灰度發布是指在黑與白之間,能夠平滑過渡的一種發布方式。AB test就是一種灰度發布方式,讓一部分用戶繼續用A,一部分用戶開始用B,如果用戶對B沒有什么反對意見,那么逐步擴大范圍,把所有用戶都遷移到B上面 來。灰度發布可以保證整體系統的穩定,在初始灰度的時候就可以發現、調整問題,以保證其影響度。這里的用于WEB系統新代碼的測試發布,讓一部分(IP)用戶
2021-11-04 shuai.chang
-
這些 Shell 分析服務器日志命令集錦,收藏好
自己的小網站跑在阿里云的ECS上面,偶爾也去分析分析自己網站服務器日志,看看網站的訪問量。看看有沒有黑闊搞破壞!于是收集,整理一些服務器日志分析命令,大家可以試試!1、查看有多少個IP訪問:awk '{print $1}' log_file|sort|uniq|wc -l2、查看某一個頁面被訪問的次數:grep "/index.php" log_file | w
2021-11-04 shuai.chang
-
淺析 k8s 容器運行時演進
在docker/k8s時代,經常聽到CRI, OCI,containerd和各種shim等名詞,看完本篇博文,您會有個徹底的理解。典型的K8S Runtime架構從最常見的Docker說起,kubelet和Docker的集成方案圖如下:當kubelet要創建一個容器時,需要以下幾步:Kubelet 通過 CRI 接口(gRPC)調用 dockershim,請求創建一個容器。CRI 即容器運行時接口
2021-11-04 shuai.chang
-
這款網絡排查工具,堪稱神器!
常用的 ping,tracert,nslookup 一般用來判斷主機的網絡連通性,其實 Linux 下有一個更好用的網絡聯通性判斷工具,它可以結合ping nslookup tracert 來判斷網絡的相關特性,這個命令就是 mtr。mtr 全稱 my traceroute,是一個把 ping 和 traceroute 合并到一個程序的網絡診斷工具。traceroute默認使用UDP數據包探測,而
2021-11-04 shuai.chang
-
Linux環境變量總結
Linux是一個多用戶的操作系統。多用戶意味著每個用戶登錄系統后,都有自己專用的運行環境。而這個環境是由一組變量所定義,這組變量被稱為環境變量。用戶可以對自己的環境變量進行修改以達到對環境的要求。設置環境變量的方法對所有用戶生效的永久性變量這類變量對系統內的所有用戶都生效,所有用戶都可以使用這類變量。作用范圍是整個系統。此文件只在root下才能修改。# vi /etc/profileexport
2021-11-04 shuai.chang
-
一篇超詳細的正則表達式簡明指南
公司使用的markdown解析類庫一直有一些解析上的問題,最近給fix了。而markdown解析主要是對正則表達式的使用。中間惡補了一下相關知識,在此梳理一下。什么是正則表達式正則表達式就是用一個“字符串”來描述一個特征,然后去驗證另一個“字符串”是否符合這個特征。簡單的一個例子:用字符串”a”來驗證字符串s是否是”a”,形如s.match(“a”)。概括來說有以下作用:驗證字符串是否符合指定特征
2021-11-03 shuai.chang
-
Ansible Playbook詳解
Playbook 是一個由一個或多個 play 組成的文件;play 是針對特定主機或主機組執行的一組有序的任務;每個 playbook 必須包含兩部分:hosts: 運行 playbook 的一組主機tasks: 需要在主機上運行的任務除了這兩個必須選項,還有一些可選項選項,也可能需要包含在 play 中,如:name: play 的名稱,在運行該 play 時,會在運行過程中顯示。become
2021-11-03 shuai.chang