精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

目前運維與測試領域有哪些新技術?

新聞 系統運維
現如今我們的程序和服務越來越龐大,光是單元測試 TDD 之類的就已經很難保證質量,不過這些都是 baseline,所以今天聊點新的話題。

 我覺得面對測試的態度是區分一個普通程序員和優秀程序員的重要標準。

現如今我們的程序和服務越來越龐大,光是單元測試 TDD 之類的就已經很難保證質量,不過這些都是 baseline,所以今天聊點新的話題。

說測試之前,我們先問下自己,為什么要測試?當然是為了找 Bug。看起來這是句廢話,但是仔細想想,如果我們能寫出 Bug-free 的程序不就好了嗎?何必那么麻煩。不過 100% 的 bug-free 肯定是不行的,那么我們有沒有辦法能夠盡可能地提升我們程序的質量?

舉個例子,我想到一個 Raft 的優化算法,與其等實現之后再測試,能不能在寫代碼前就知道這個算法理論上有沒有問題?辦法其實是有的,那就是形式化證明技術,比較常用的是 TLA+。

1. TLA+

TLA+ 背后的思想很簡單,TLA+ 會通過一套自己的 DSL(符號很接近數學語言)描述程序的初始狀態以及后續狀態之間的轉換關系,同時根據你的業務邏輯來定義在這些狀態切換中的不變量,然后 TLA+ 的 TLC model checker 對狀態機的所有可達狀態進行窮舉,在窮舉過程中不斷檢驗不變量約束是否被破壞。

舉個簡單的例子,分布式事務最簡單的兩階段提交算法,對于 TLA+ Spec 來說,需要你定義好初始狀態(例如事務要操作的 keys、有幾個并發客戶端等),然后定義狀態間跳轉的操作( Begin / Write / Read / Commit 等),最后定義不變量(例如任何處于 Committed 狀態的 write ops 一定是按照 commit timestamp 排序的,或者 Read 的操作一定不會讀到臟數據之類的),寫完以后放到 TLC Checker 里面運行,等待結果就好。

但是,我們活在一個不完美的世界,即使你寫出了完美的證明,也很難保證你就是對的。第一, Simulator 并沒有辦法模擬出無限多的 paticipants 和并發度, 一般也就是三五個;第二,聰明的你可能也看出來了,一般 TLA+ 的推廣文章也不會告訴你 Spec 的關鍵是定義不變量,如果不變量定義不完備,或者定義出錯,那么證明就是無效的。因此,我認為形式化驗證的意義在于讓工程師在寫代碼之前提高信心,在寫證明的過程中也能更加深對算法的理解,此外,如果在 TLC Checker 里就跑出異常,那就更好了。

目前 PingCAP 應該是國內唯一一個使用 TLA+ 證明關鍵算法,并且將證明的 Spec 開源出來的公司,大家可以參考  pingcap/tla-plus  這個 Repo。

2. Chaos Engineering

如果完美的證明不存在,那么 Deterministic 的測試存在嗎?我記得大概 2015 年在 PingCAP 成立前,我看到了一個 FoundationDB 關于他們的 Deterministic 測試的 演講。簡單來說他們用自己的 IO 處理和多任務處理框架 Flow 將代碼邏輯和操作系統的線程以及 IO 操作解耦,并通過集群模擬器做到了百分之百重現 Bug 出現時的事件順序,同時可以在模擬器中精確模擬各種異常,確實很完美。但是考慮到現實的情況,我們當時選擇使用的編程語言主要是 Go,很難或者沒有必要做類似 Flow 的事情 。所以我們選擇了從另一個方向解決這個問題,提升分布式環境下 Bug 的復現率,能方便復現的 Bug 就能好解決,這個思路也是最近幾年很火的 Chaos Engineering。做 Chaos Engineering 的幾個關鍵點:

定義穩態,記錄正常環境下的 workload 以及關注的重要指標。

定義系統穩態后,我們分為實驗組和對照組進行實驗,確認在理想的硬件情況下,無論如何操作實驗組,最后都會回歸穩態。

開始對底層的操作系統和網絡進行破壞,再重復實驗,觀察實驗組會不會回歸穩態。

道理大家都懂,但是實際做起來最大的問題在于如何將整個流程自動化。原因在于:一是靠手動的效率很低;二是正統的 Chaos Engineering 強調的是在生產環境中操作,如何控制爆炸半徑,這也是個比較重要的問題。

先說第一個問題,PingCAP 在實踐 Chaos Engineering 的初期,都是在物理機上通過腳本啟停服務,所有實驗都需要手動完成,耗時且非常低效,在資源利用上也十分不合理。這個問題我們覺得正好是 K8s 非常擅長的,于是我們開發了一個基于 K8s 的,內部稱為 Schrodinger 的自動化測試平臺,將 TiDB 集群的啟停鏡像化,另外將 TiDB 本身的 CI/CD,自動化測試用例的管理、Fault Injection 都統一了起來。這個項目還催生出一個好玩的子項目 Chaos Operator:我們通過 CRD 來描述 Chaos 的類型,然后在不同的物理節點上啟動一個 DaemonSets,這個 DaemonSets 就負責干擾 Pod,往對應的 Pod 里面注入一個 Sidecar,Sidecar 幫我們進行注入錯誤(例如使用 Fuse 來模擬 IO 異常,修改 iptable 制造網絡隔離等),破壞 Pod。近期我們也有計劃將 Chaos Operator 開源。

第二個問題,其實在我看來,有 Chaos Engineering 仍然還是不夠的,我們在長時間的對測試和質量的研究中發現提升測試質量的關鍵是如何發現更多的測試 workload。在早期我們大量依賴了 MySQL 和相關社區的集成測試,數量大概千萬級別,這個決定讓我們在快速迭代的同時保證質量,但是即使這樣還是不夠的,我們也在從學術界尋求答案. 例如引入并通過官方的 Jepsen Test ,再例如通過 SQLfuzz 自動生成合法 SQL 的語句加入到測試集中。

總之,比起寫業務邏輯,在分布式環境下寫測試 + 寫測試框架花費的精力可能一點都不少,甚至可能多很多(如果就從代碼量來說,TiDB 的測試相關的代碼行數可能比內核代碼行數多一個數量級),而且這是一個非常值得研究和投資的領域。另外一個問題是如何通過測試發現性能回退。我們的測試平臺中每天運行著一個名為 benchbot 的機器人,每天的回歸測試都會自動跑性能測試,對比每日的結果。這樣一來我們的工程師就能很快知道哪些變更導致了性能下降,以及得到一個長期性能變化趨勢。

3. eBPF

說完測試,另外一個相關的話題是 profiling 和分布式 tracing。tracing 看看 Google 的 Dapper 和開源實現 OpenTracing 就大概能理解,所以,我重點聊聊 profiling。最近這幾年我關注的比較多的是 eBPF (extended BPF) 技術。想象下,過去我們如果要開發一個 TCP filter,要么就自己寫一個內核驅動,要么就用 libpcap 之類的基于傳統 BPF 的庫,而傳統 BPF 只是針對包過濾這個場景設計的虛擬機,很難定制和擴展。

聊聊目前运维与测试领域有哪些新技术?

聊聊目前运维与测试领域有哪些新技术?

在這個背景下,eBPF 應運而生,eBPF 引入了 JIT 和寄存器,將 BPF 的功能進一步擴充,這背后的意義是,我們在內核中有一個安全的、高性能的、基于事件的、支持 JIT 的字節碼的虛擬機!這其實極大地降低了拓展內核能力的門檻,我們可以不用擔心在驅動中寫個異常把內核搞崩,我們也可以將給 llvm 用的 clang 直接編譯成 eBPF 對象,社區還有類似 bcc 這樣的基于 Python 的實用工具集……

過去其實大家是從系統狀態監控、防火墻這個角度認識 eBPF 的。沒錯,性能監控以及防火墻確實是目前 eBPF 的王牌場景,但是我大膽地預測未來不止于此,就像最近 Brendan Gregg 在他的 blog 里喊出的口號:BPF is a new type of software。可能在不久的未來,eBPF 社區能誕生出更多好玩的東西,例如我們能不能用 eBPF 來做個超高性能的 web server?能不能做個 CDN 加速器?能不能用 BPF 來重定義操作系統的進程調度?我喜歡 eBPF 的另一個重要原因是,第一次內核應用開發者可以無視內核的類型和版本,只要內核能夠運行 eBPF bytecode 就可以了,真正做到了一次編譯,各個內核運行。所以有一種說法是 BPF is eating Linux,也不是沒有道理 。

PingCAP 也已經默默地在 BPF 社區投入了很長時間,我們也將自己做的一些 bcc 工具開源了,詳情可以參考 pingcap/kdt  這個 repo。其中值得一提的是,我們的 bcc 工具之一 drsnoop 被 Brendan Gregg 的新書收錄了,也算是為社區做出了一點微小的貢獻。

上面聊的很多東西都是具體的技術,技術的落地離不開部署和運維,分布式系統的特性決定了維護的復雜度比單機系統大得多。在這個背景之下,我認為解法可能是:不可變基礎設施。

云和容器的普及讓 infrastructure as code 的理念得以變成現實,通過描述式的語言來創建可重復的部署體驗,這樣可重用的描述其實很方便在開源社區共享,而且由于這些描述幾乎是和具體的云的實現無關,對于跨云部署和混合數據中心部署的場景很適合。有些部署工具甚至誕生出自己的生態系統,例如 Terraform / Chef / Ansible。有一種說法戲稱現在的運維工程師都是 yaml 語言工程師,其實很有道理的:人總是會出錯,且傳統的基于 shell 腳本的運維部署受環境影響太大,shell 天然也不是一個非常嚴謹的語言。描述意圖,讓機器去干事情,才是能 scale 的正道。

4. 作者介紹

黃東旭:分布式系統專家,架構師,開源軟件作者。PingCAP 聯合創始人兼 CTO,知名開源項目 Codis / TiDB / TiKV 主要作者,曾就職于微軟亞洲研究院,網易有道及豌豆莢。2015 年創業,成立 PingCAP,致力于下一代開源分布式數據庫的研發工作,擅長分布式存儲系統設計與實現,高并發后端架構設計。

 

責任編輯:張燕妮 來源: 架構頭條
相關推薦

2009-09-03 22:06:45

IT運維

2014-11-10 09:38:04

SVF運維華為

2010-07-02 09:17:29

技能運維人員

2018-05-10 22:26:44

2018-05-14 14:13:54

2021-03-26 10:16:56

云計算Linux運維開發

2022-04-21 14:05:21

開發者論壇

2015-07-13 09:14:43

安卓新技術

2015-10-30 10:40:45

意義數據運維運維

2018-04-20 06:56:58

2017-04-14 13:54:41

WOT2017架構運維

2024-10-24 09:41:06

2016-05-03 13:25:54

自動化運維PUPPET

2024-02-06 10:31:15

Redis工具運維

2016-03-31 14:33:30

DevOps數據庫運維

2022-07-15 07:20:42

數字化智能運維

2022-01-07 06:10:14

微軟Ignite趨勢

2016-04-06 11:22:28

運維游戲運維服務器

2009-04-15 09:36:21

運維

2010-03-17 17:24:07

IT運維管理信息化管理北塔軟件
點贊
收藏

51CTO技術棧公眾號

亚洲v精品v日韩v欧美v专区| 男人的j进女人的j一区| 成人网在线播放| 美女啪啪无遮挡免费久久网站| 一二三级黄色片| 在线黄色网页| 26uuu亚洲| 国产精品一区二区三区免费视频 | 一区二区三区四区视频免费观看| 亚洲一区二区三区四区在线观看| 欧美久久久久久久| 一区二区三区麻豆| 欧美日本一区二区高清播放视频| 亚洲欧洲黄色网| 肉色超薄丝袜脚交| 亚洲小少妇裸体bbw| 国产精品久久久久久久久果冻传媒| 91免费视频国产| www.日本精品| 影音先锋日韩在线| 亚洲精选一区二区| 日韩大尺度视频| xx欧美xxx| 亚洲综合色噜噜狠狠| 视频一区二区三区在线观看| 人妻精品一区一区三区蜜桃91| 日韩va欧美va亚洲va久久| 欧美福利视频在线观看| 国产123在线| 国产精品香蕉| 人妖一区二区三区| 久久免费在线观看视频| 一区二区视频在线播放| 99日在线视频| 中文字幕在线官网| 亚洲精品国产无天堂网2021| 欧美另类xxx| 日韩欧美在线一区二区三区| 欧美在线激情| 亚洲黄色小说网址| 久久99蜜桃精品| 国产成人+综合亚洲+天堂| 久久久久亚洲av无码专区 | 欧美三级午夜理伦三级中视频| 久草视频国产在线| 成人在线免费看片| 久久久欧美精品sm网站| 国产一区二区三区免费不卡| 国产高清视频免费| 国产自产v一区二区三区c| 国产精品精品视频一区二区三区| 国产三级av片| 亚洲精品韩国| 欧美日韩国产va另类| 欧美一区二区三区爽爽爽| 久久电影院7| 伊人青青综合网站| 一级特黄曰皮片视频| 精品国产精品久久一区免费式| 亚洲精品视频中文字幕| 中文字幕第3页| 九色丨蝌蚪丨成人| 亚洲福利视频网站| 人妻激情偷乱频一区二区三区 | 国产欧美精品一区二区三区| 亚洲精品国产精| 国产999精品久久| 国产精品v欧美精品v日韩| 亚洲精品久久久狠狠狠爱| 国产成人综合在线播放| 国产成人av一区二区三区| 欧美 日韩 国产 成人 在线 91 | 亚洲jizzjizz日本少妇| av中文字幕免费| 国产精品一区二区x88av| 亚洲一区二区三区四区视频| 97精品人妻一区二区三区香蕉| 精品亚洲免费视频| 99久久精品免费看国产四区| 高潮一区二区三区乱码| 94色蜜桃网一区二区三区| 欧美成熟毛茸茸复古| 第九色区av在线| 国产精品高潮呻吟久久| 国产一二三四五| 爱看av在线| 色天天综合久久久久综合片| 中文字幕第100页| 欧美成年网站| 亚洲国产欧美自拍| 国产18无套直看片| 欧美国产精品| 日本不卡免费高清视频| 亚洲午夜激情视频| 国产成人啪免费观看软件| 国产一区二区不卡视频| 成年在线电影| 一级女性全黄久久生活片免费| 3d动漫一区二区三区| 激情亚洲影院在线观看| 日韩一区二区中文字幕| 成人无码www在线看免费| 精品一区二区三区在线| 欧美日韩xxxxx| 国产剧情在线视频| 国产精品一区二区视频| 欧美久久久久久久| 欧美xxx黑人xxx水蜜桃| 91激情在线视频| wwwww在线观看| 日韩av密桃| 欧美激情中文网| 在线观看黄色国产| 91在线一区二区三区| 黄色网zhan| 黑人巨大亚洲一区二区久| 日韩欧美aaaaaa| 色噜噜噜噜噜噜| 日韩一区二区久久| 91观看网站| 最近高清中文在线字幕在线观看| 婷婷久久综合九色综合绿巨人| 色乱码一区二区三区在线| 免费一区二区| 激情五月激情综合网| 久久精品福利| 污视频网站免费在线观看| 国产一区二区福利视频| 欧美国产二区| 欧美人与牲禽动交com| 精品视频一区三区九区| 国产成人无码精品久久二区三| 少妇熟女视频一区二区三区 | 国产精品18p| 韩国成人在线视频| 亚洲一区二区三区午夜| 全亚洲第一av番号网站| 亚洲第一av网站| 国产女人被狂躁到高潮小说| 美女视频网站黄色亚洲| 日韩av一级大片| 免费成人美女女| 精品亚洲aⅴ在线观看| 日韩精品国产一区二区| 成人久久18免费网站麻豆| 欧美美女黄色网| 欧美h版在线观看| 久久视频这里只有精品| 国产精品伊人久久| 亚洲欧美日韩国产手机在线| 中文字幕av专区| 亚洲成av人片在线观看www| 尤物tv国产一区| 糖心vlog精品一区二区| 欧美日韩大片| 亚洲一区二区视频| 亚洲综合激情视频| 日韩高清欧美| 国产精品电影在线观看| 日本波多野结衣在线| 亚洲va韩国va欧美va精品| 97人人模人人爽人人澡| 我不卡影院28| 国产精品亚发布| 日韩子在线观看| 欧美一区二区三区四区五区| 日日操免费视频| 日av在线不卡| 亚洲图片小说在线| 91九色成人| x99av成人免费| 在线观看国产成人| 国产精品免费看片| 中文字幕中文在线| 欧美激情五月| 国产精品伊人日日| 色是在线视频| 日韩精品丝袜在线| 日本熟妇色xxxxx日本免费看| 91网站在线播放| 国产成人精品无码播放| 国产日产一区| 国产女同一区二区| 日本中文字幕在线观看| 精品国产乱码久久久久久夜甘婷婷 | 欧美亚州韩日在线看免费版国语版| 国产精品jizz| 日本美女一区二区三区视频| 色姑娘综合网| 日本在线成人| 亚洲**2019国产| 狠狠v欧美ⅴ日韩v亚洲v大胸| 欧美主播一区二区三区美女| 精品无码人妻一区二区免费蜜桃| 蜜臀av性久久久久蜜臀aⅴ流畅| 夜夜爽www精品| 日韩一区二区三区精品| 欧美在线视频导航| 日韩免费啪啪| 亚洲成在人线av| 国产精品视频一区在线观看| 国产日韩v精品一区二区| 女人扒开腿免费视频app| 日韩一区二区久久| 亚洲成人一区二区三区| 美女精品久久| 国产精品高潮粉嫩av| 成人福利片网站| 日韩av影院在线观看| 在线观看亚洲一区二区| 夜夜精品视频一区二区| 国产极品视频在线观看| 成人夜色视频网站在线观看| 欧美成人黑人猛交| 欧美不卡高清| 成人在线看片| 国精产品一区一区二区三区mba| 久久伊人亚洲| 成人国产一区二区三区| 日韩高清电影免费| 成人春色激情网| 三级在线观看视频| 欧美美女操人视频| jizz亚洲| 精品偷拍各种wc美女嘘嘘| 国产av精国产传媒| 日韩欧美在线看| 麻豆亚洲av熟女国产一区二| 国产欧美日韩另类一区| 东京热av一区| 成人黄色在线看| 亚洲精品综合在线观看| 日韩精品国产欧美| 日韩五码在线观看| 国产精品二区影院| 亚洲精品中字| 亚洲三级网页| 成人精品水蜜桃| 欧美free嫩15| 国产成人一区三区| 国产中文在线播放| 欧美成人精品在线观看| av网站大全在线观看| 国产一区二区三区免费视频| 色综合视频在线| 日韩视频免费观看高清完整版在线观看 | 免费一级特黄特色毛片久久看| 欧美国产高清| 黄瓜视频免费观看在线观看www| 少妇精品久久久一区二区三区| av免费观看久久| 亚洲一区二区三区四区电影| 91中文在线观看| 国产精品原创视频| 国产成人精品一区二区三区| 999精品网| 91精品国产自产91精品| 成人观看网址| 69av在线视频| 欧美家庭影院| 57pao成人国产永久免费| 91av久久| 18久久久久久| 日韩电影免费观看| 91精品成人久久| 秋霞伦理一区| 91av视频在线播放| free性护士videos欧美| 97免费视频在线播放| 大桥未久在线视频| 国产91|九色| 全亚洲第一av番号网站| 国产精品小说在线| 国产一区二区高清在线| 成人性生交大片免费看视频直播 | 国产淫片免费看| 国产精品入口| 国产偷人视频免费| 久久精品日产第一区二区| 久久久久久三级| 蜜臀久久99精品久久久画质超高清 | 亚洲国产精品影视| 亚洲精品tv久久久久久久久久| 天堂va久久久噜噜噜久久va| 久久久久亚洲| 日本精品久久久久久久久久| 亚洲人成免费| 久久久久久香蕉| 国产福利一区二区三区视频| 国产性生活毛片| 久久综合色婷婷| 国产一区二区三区四区在线| 亚洲高清在线精品| 午夜精品一区二| 欧美精品在线一区二区三区| 亚洲国产精品18久久久久久| 亚洲欧美日韩中文视频| 激情视频在线观看| 久久久女女女女999久久| 日韩av中字| 亚洲aa中文字幕| 特黄特色欧美大片| 制服国产精品| 91久久在线| 久久久久久久久久久久久久久国产| 国产精品一区二区在线观看网站| 亚洲国产精品成人综合久久久| 国产欧美日韩在线观看| 精品在线视频免费| 欧美日韩中文字幕一区二区| 午夜精品在线播放| 亚洲人成伊人成综合网久久久| 国产精品一品| 国产精品久久久久久久久| 久久精品国产精品亚洲毛片| 国产精品免费一区二区三区| 经典一区二区| 欧美三级在线观看视频| 免费成人性网站| 99久久人妻无码中文字幕系列| 亚洲欧美电影院| 亚洲国产av一区二区三区| 日韩欧美另类在线| 国产h视频在线观看| 91超碰caoporn97人人| 视频欧美精品| 快播亚洲色图| 欧美特黄a级高清免费大片a级| 国产福利精品一区二区三区| 91麻豆成人久久精品二区三区| 欧美视频www| 色综合色狠狠综合色| 日韩一级片免费| 欧美噜噜久久久xxx| av成人在线观看| 日韩精品久久一区| 一区二区三区高清视频在线观看| 国产高清av片| 国产精品久线在线观看| 国产一级片一区二区| 国产婷婷97碰碰久久人人蜜臀| 在线中文字幕-区二区三区四区| 国产中文日韩欧美| 欧美精品第一区| 黄网站欧美内射| 高清shemale亚洲人妖| 久久久久免费看| 3d成人动漫网站| 日本视频在线| 国产aaa精品| 精品国产视频| 日韩精品一区中文字幕| 91免费观看国产| 99re这里只有精品在线| 亚洲免费影视第一页| 涩涩视频在线| 欧美午夜欧美| 天堂精品中文字幕在线| 无码国产69精品久久久久同性| 亚洲伊人伊色伊影伊综合网| 国产伦一区二区| 日韩视频在线观看免费| 日本国产亚洲| 免费国产成人看片在线| 久久99精品久久久久久动态图| 综合 欧美 亚洲日本| 欧美三级韩国三级日本一级| 乱人伦中文视频在线| 91情侣偷在线精品国产| 91成人影院| 日韩少妇一区二区| 精品国产乱码久久久久久虫虫漫画 | 95视频在线观看| 一区二区三区中文免费| 国精产品乱码一区一区三区四区| 欧美国产激情18| youjizz欧美| 日韩视频第二页| 亚洲国产精品二十页| 在线视频 中文字幕| 久久在线精品视频| 午夜日韩影院| 玩弄中年熟妇正在播放| 成人一区在线看| 无码任你躁久久久久久久| 一区二区三区精品99久久| 九七影院97影院理论片久久| eeuss中文| 成人涩涩免费视频| a v视频在线观看| www.久久色.com| 亚洲精品一二三**| 国产美女网站在线观看| 国产精品网站导航| a级片免费观看| 97香蕉久久夜色精品国产| 成人久久综合| 亚洲最大视频网| 色婷婷av一区二区三区大白胸| 八戒八戒神马在线电影|