-
基于 Nginx+lua+Memcache 實(shí)現(xiàn)灰度發(fā)布
一、灰度發(fā)布原理說明灰度發(fā)布在百度百科中解釋:灰度發(fā)布是指在黑與白之間,能夠平滑過渡的一種發(fā)布方式。AB test就是一種灰度發(fā)布方式,讓一部分用戶繼續(xù)用A,一部分用戶開始用B,如果用戶對(duì)B沒有什么反對(duì)意見,那么逐步擴(kuò)大范圍,把所有用戶都遷移到B上面 來?;叶劝l(fā)布可以保證整體系統(tǒng)的穩(wěn)定,在初始灰度的時(shí)候就可以發(fā)現(xiàn)、調(diào)整問題,以保證其影響度。這里的用于WEB系統(tǒng)新代碼的測試發(fā)布,讓一部分(IP)用戶
2021-11-04 shuai.chang
-
這些 Shell 分析服務(wù)器日志命令集錦,收藏好
自己的小網(wǎng)站跑在阿里云的ECS上面,偶爾也去分析分析自己網(wǎng)站服務(wù)器日志,看看網(wǎng)站的訪問量。看看有沒有黑闊搞破壞!于是收集,整理一些服務(wù)器日志分析命令,大家可以試試!1、查看有多少個(gè)IP訪問:awk '{print $1}' log_file|sort|uniq|wc -l2、查看某一個(gè)頁面被訪問的次數(shù):grep "/index.php" log_file | w
2021-11-04 shuai.chang
-
淺析 k8s 容器運(yùn)行時(shí)演進(jìn)
在docker/k8s時(shí)代,經(jīng)常聽到CRI, OCI,containerd和各種shim等名詞,看完本篇博文,您會(huì)有個(gè)徹底的理解。典型的K8S Runtime架構(gòu)從最常見的Docker說起,kubelet和Docker的集成方案圖如下:當(dāng)kubelet要?jiǎng)?chuàng)建一個(gè)容器時(shí),需要以下幾步:Kubelet 通過 CRI 接口(gRPC)調(diào)用 dockershim,請(qǐng)求創(chuàng)建一個(gè)容器。CRI 即容器運(yùn)行時(shí)接口
2021-11-04 shuai.chang
-
這款網(wǎng)絡(luò)排查工具,堪稱神器!
常用的 ping,tracert,nslookup 一般用來判斷主機(jī)的網(wǎng)絡(luò)連通性,其實(shí) Linux 下有一個(gè)更好用的網(wǎng)絡(luò)聯(lián)通性判斷工具,它可以結(jié)合ping nslookup tracert 來判斷網(wǎng)絡(luò)的相關(guān)特性,這個(gè)命令就是 mtr。mtr 全稱 my traceroute,是一個(gè)把 ping 和 traceroute 合并到一個(gè)程序的網(wǎng)絡(luò)診斷工具。traceroute默認(rèn)使用UDP數(shù)據(jù)包探測,而
2021-11-04 shuai.chang
-
Linux環(huán)境變量總結(jié)
Linux是一個(gè)多用戶的操作系統(tǒng)。多用戶意味著每個(gè)用戶登錄系統(tǒng)后,都有自己專用的運(yùn)行環(huán)境。而這個(gè)環(huán)境是由一組變量所定義,這組變量被稱為環(huán)境變量。用戶可以對(duì)自己的環(huán)境變量進(jìn)行修改以達(dá)到對(duì)環(huán)境的要求。設(shè)置環(huán)境變量的方法對(duì)所有用戶生效的永久性變量這類變量對(duì)系統(tǒng)內(nèi)的所有用戶都生效,所有用戶都可以使用這類變量。作用范圍是整個(gè)系統(tǒng)。此文件只在root下才能修改。# vi /etc/profileexport
2021-11-04 shuai.chang
-
一篇超詳細(xì)的正則表達(dá)式簡明指南
公司使用的markdown解析類庫一直有一些解析上的問題,最近給fix了。而markdown解析主要是對(duì)正則表達(dá)式的使用。中間惡補(bǔ)了一下相關(guān)知識(shí),在此梳理一下。什么是正則表達(dá)式正則表達(dá)式就是用一個(gè)“字符串”來描述一個(gè)特征,然后去驗(yàn)證另一個(gè)“字符串”是否符合這個(gè)特征。簡單的一個(gè)例子:用字符串”a”來驗(yàn)證字符串s是否是”a”,形如s.match(“a”)。概括來說有以下作用:驗(yàn)證字符串是否符合指定特征
2021-11-03 shuai.chang
-
Ansible Playbook詳解
Playbook 是一個(gè)由一個(gè)或多個(gè) play 組成的文件;play 是針對(duì)特定主機(jī)或主機(jī)組執(zhí)行的一組有序的任務(wù);每個(gè) playbook 必須包含兩部分:hosts: 運(yùn)行 playbook 的一組主機(jī)tasks: 需要在主機(jī)上運(yùn)行的任務(wù)除了這兩個(gè)必須選項(xiàng),還有一些可選項(xiàng)選項(xiàng),也可能需要包含在 play 中,如:name: play 的名稱,在運(yùn)行該 play 時(shí),會(huì)在運(yùn)行過程中顯示。become
2021-11-03 shuai.chang
-
Docker容器實(shí)戰(zhàn)之?dāng)?shù)據(jù)持久化+網(wǎng)絡(luò)模式+資源限制
docker容器數(shù)據(jù)持久化的三種方式docker提供三種方式將數(shù)據(jù)從宿主機(jī)掛載到容器中:volumes: Docker管理宿主機(jī)文件系統(tǒng)的一部分(/var/lib/docker/vollumes)保存數(shù)據(jù)的最佳方式。bind mounts: 將宿主機(jī)上的任意位置的文件或者目錄掛載到容器中。tmpfs::掛載存儲(chǔ)在主機(jī)系統(tǒng)的內(nèi)存中,而不會(huì)寫入主機(jī)的文件系統(tǒng)。如果不希望將數(shù)據(jù)持久存儲(chǔ)在任何位置,可以使
2021-11-03 shuai.chang