成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如果不想總是半夜爬起來搶修生產事故

開發 開發工具
作為一名開發人員,如何能讓自己能逐漸減少在半夜爬起來搶修生產事故的次數?可以嘗試使用本文要介紹的8個謬誤、12個反模式和12個模式。

我以前很崇拜那些能修復各種軟件缺陷的“救火”高手。很多年前,我還是一個維護遺留系統的團隊的普通開發人員。那時,團隊的每個開發人員,都輪流帶一個7x24小時開機的手機,處理用戶問題。團隊里有一位英雄。他戴眼鏡,經常身穿一件白大褂。我們要是有搞不定的生產事故的各種疑難雜癥,就會找他。

[[440921]]

只有他能搞定我們這些普通開發人員搞不定的問題。所以過去了十多年,我依然很佩服他,覺得他是英雄。但當我后來讀了《第五項修煉》中描述的“負擔轉移”系統基本模式后,醒悟到團隊有這樣的“英雄”,看起來值得“慶幸”,但會帶來一個意想不到的后果——團隊不再想花時間和精力,提升普通開發人員解決生產事故的能力,因為“英雄”出馬,以一當十。當年團隊所維護的遺留系統火情不斷,但我們這些普通水平的開發人員,一直救不了火。

真英雄,要么能賦能團隊成員,提升他們處理生產事故的“救火”的能力,而不僅僅靠他一人;要么能把需要半夜爬起來搶修的生產事故,化解成一個個小任務,在白天上班時間給解決了。

有人會問,作為開發人員,如何才能把生產事故化解成一個個小任務呢?

首先,可以在自己日常開發新代碼,或解決軟件缺陷時,時時思考面前的代碼,是否出現了以下分布式計算的8個謬誤:

  1. 網絡是可靠的
  2. 延遲為零
  3. 帶寬無限大
  4. 網絡很安全
  5. 網絡拓撲不會改變
  6. 只有一名網管
  7. 傳輸成本為零
  8. 網絡是同質的

比如你發現要修改的代碼,存在“網絡是可靠的”這樣的謬誤,接下來就可以借助“復雜系統穩定性的12個反模式”(每個反模式的詳細描述,參見《發布!》第2版第4章)列表,來思考哪里會存在“暗債”。

  1. 集成點
  2. 同層連累反應
  3. 層疊失效
  4. 用戶
  5. 線程阻塞
  6. 自黑式攻擊
  7. 放大效應
  8. 失衡的系統容量
  9. 一窩蜂
  10. 做出誤判的機器
  11. 緩慢的響應
  12. 無限長的結果集

將思考產生的所有“暗債”集中起來,并按照“暗債”爆發的“影響度”和“可能性”這兩個維度,把這些“暗債”進行排序,然后選擇其中“影響度”最高且“可能性”最大的一個“暗債”,優先處理。

假如你發現代碼中存在一個“集成點”的“暗債”需要優先處理,那么就可以借助下面“復雜系統穩定性的12個模式”(每個模式的詳細描述,參見《發布!》第2版第5章)列表,來尋找償還“暗債”的思路。

  1. 超時
  2. 斷路器
  3. 艙壁
  4. 穩態
  5. 快速失敗
  6. 任其崩潰并替換
  7. 握手
  8. 考驗機
  9. 中間件解耦
  10. 卸下負載
  11. 背壓機制
  12. 調速器

比如上面那個“集成點”的“暗債”,可以使用“快速失敗”的思路來解決,那么就可以根據修復工作量的大小,要么順手修復,要么將其加入迭代開發待辦列表中,納入日常開發活動中。如果每位開發人員都能在日常開發過程中,持續進行如上的思考,那么就能在白天上班時,將生產事故的相關“暗債”,逐一解決,讓自己能睡個好覺。

當然你可以把上面那套方法及其成效,分享給你的隊友。但更有效的方法,是設法影響你的技術領導,請他參考2021年6月中文版新上市的《混沌工程》關注與該書同名的這一新實踐。

早在2008年,Netflix公司在把數據中心遷往亞馬遜云平臺的時候,踩了一個大坑,經常會出現生產事故。為了能在白天上班時間解決生產環境的事故,而不是半夜爬起來解決,他們摸索出一套行之有效的方法——混沌工程。

該如何做混沌工程?

借鑒Netflix的實例,可以從“擺正心態、人員主動和試點業務”三方面入手,來啟動混沌工程。

擺正心態

承認暗債為復雜系統所固有,而不是一味要求工程師“不能也不該出現失誤”。否則在故障面前,大家就只會花大量時間相互甩鍋,而忽視了提升團隊發現更多暗債和快速修復生產故障的能力。

人員主動

根據Ashby的必要多樣性法則(用于控制系統B的系統A,需要和系統B同樣復雜),要建立對系統能夠承受生產環境的動蕩的信心,需要針對生產環境“豐富多彩”的暗債,設計同樣“豐富多彩”的防范手段。而技術骨干一個人,是發現不了那么多暗債,并找到那么多的防范手段的。所以,就需要發揮各位工程師的主動性。此時,領導者要創造能調動工程師主動性和創造性的企業文化,來促進工程師更安全地發現與修復更多“花樣”的暗債。在修復暗債的過程中,就可以使用上述8大謬誤、反模式和模式列表。

試點業務

  • 選擇一個出現生產事故頻率較高的業務系統,嘗試混沌工程。因為事故的反復,出現會讓發現與解決暗債的動力更大
  • 基于能反映用戶體驗的業務穩態行為建立假設,而不是先聚焦于在系統內尋找弱點。因為這樣能更利于進行全局優化,讓成效更大
  • 為了讓暗債浮現出來,設計引入足夠多樣化的現實世界可能發生的事件,而不是設計那些易于生成但在現實中不大可能出現的事件,以便切中要害。針對每一個所引入的事件,參考上述模式列表,來進行穩定性設計
  • 可以先從準生產環境入手進行混沌實驗,等條件成熟后,再逐漸過渡到生產環境
  • 自動化地持續進行混沌實驗,以起到回歸實驗的效果,持續發現并解決暗債,避免系統隨著時間的推移,在韌性方面逐漸“掉隊”
  • 設計更安全的實驗方式,以最小化爆炸半徑,讓實驗所導致的業務損失降到最低,而不是明知故障難以控制,還要貿然進行實驗。如果實驗的假設被證偽,那么就遇到了發現新的暗債的好機會。在尋找暗債的過程中,可以參考上述反模式列表,來啟發尋找漏洞及修復

總結一下,真英雄最終都不會在半夜里爬起來搶修生產事故,因為他們會聰明地使用分布式系統穩定性設計,以及混沌工程,避免將自己陷入如此凄慘的境地。

作為一名開發人員,如何能讓自己能逐漸減少在半夜爬起來搶修生產事故的次數?可以嘗試使用本文要介紹的8個謬誤、12個反模式和12個模式。

如何讓隊友不會半夜把你喊起來幫著搶修生產事故?影響領導,嘗試使用混沌工程,來讓團隊成員都在上班時間,主動發現并修復分布式系統的漏洞,逐漸減少夜里喊你的次數。

【本文是51CTO專欄作者“ThoughtWorks”的原創稿件,微信公眾號:思特沃克,轉載請聯系原作者】

戳這里,看該作者更多好文

 

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2010-02-02 09:24:24

云計算網格計算

2015-11-23 17:27:19

程序員寫代碼

2017-05-08 13:17:16

CTO程序員創業

2021-01-12 07:57:36

MySQLBinlog故障處理

2020-12-09 08:59:59

MongoDB復合索事故

2019-07-31 10:08:19

人工多線程數據

2012-06-18 09:04:53

新聞回顧

2022-05-18 13:02:27

管理系統

2019-04-24 09:25:51

安全事故復聯

2015-06-24 15:29:56

阿里云香港機房癱瘓

2017-11-09 09:06:29

流量暴增優化

2013-02-28 11:00:51

IE10瀏覽器

2020-09-25 07:57:42

生產事故系統

2022-11-16 08:00:00

雪花算法原理

2018-04-16 11:03:50

區塊鏈陷阱騙術

2011-11-03 17:09:46

惠普PCWebOS

2020-10-20 06:48:24

架構師CPU服務器

2022-10-25 18:00:00

Redis事務生產事故

2019-08-05 10:15:33

系統緩存架構

2018-08-31 21:48:09

程序員工程團隊管理
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产美女视频黄a视频免费 国产精品福利视频 | 精品在线观看一区二区 | 久久久久国产精品一区二区 | 欧美精品一区二区免费 | 亚洲成人一级片 | 欧美a级网站 | 中文字幕一级 | 亚洲久久一区 | aaa一区| 在线观看亚洲一区二区 | 一区二区国产精品 | 欧美日韩国产一区二区三区不卡 | 九九一级片 | 国产在线一级片 | 国内精品视频免费观看 | 亚洲a级| 欧美三级视频在线观看 | 亚洲天堂一区 | 在线a视频 | 在线日韩av电影 | 亚洲精品一区中文字幕乱码 | 一级片视频免费 | 久久久久久久综合 | 国产九九精品 | 日日天天 | 福利视频1000 | 亚洲综合无码一区二区 | 精品免费国产视频 | 国产精品激情 | 国产精品国产精品国产专区不蜜 | 欧美一区二区在线 | 在线视频91| 欧美男人亚洲天堂 | 国产精品黄 | 欧日韩在线观看 | 羞羞视频在线观看 | 日日干日日 | 久久久.com | 国产丝袜一区二区三区免费视频 | 国产日韩欧美另类 | 欧美aaa级|