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

十面埋伏? 程序世界里的不信任原則

開發 前端
人與人之間最重要的是信任,但程序的世界里,可能信任越少越好;我越發覺得越是高性能高可用的系統里,不信任原則會體現得更加淋漓盡致。 為了少走彎路,寫下這篇文章留給自己參考,其中一些是自己踩過的一些坑;一些是接手他人系統時觸過的雷;還有一些是從別人分享的經驗學習得來;能力有限,先記下自己的一些體會,錯誤的地方再慢慢改正。

導語

人與人之間最重要的是信任,但程序的世界里,可能信任越少越好;我越發覺得越是高性能高可用的系統里,不信任原則會體現得更加淋漓盡致。 為了少走彎路,寫下這篇文章留給自己參考,其中一些是自己踩過的一些坑;一些是接手他人系統時觸過的雷;還有一些是從別人分享的經驗學習得來;能力有限,先記下自己的一些體會,錯誤的地方再慢慢改正。

程序世界里的不信任原則

一、編程的世界里十面埋伏

編程,是一件容易的事,也是一件不容易的事。說它容易,是因為掌握一些基本的數據類型和條件語句,就可以實現復雜的邏輯;說它不容易,是因為高性能高可用的代碼,需要了解的知識有很多很多;編程的世界,也跟掃雷游戲的世界一樣,充滿雷區,十面埋伏,一不小心,隨時都可能踩雷,隨時都可能Game Over。

程序世界里的不信任原則

而玩過掃雷的人都知道,避免踩雷的最好方法,就是提前識別雷區并做標記(設防)避免踩踏。

程序世界里的不信任原則

鑒于此,編程的世界里,從輸入到輸出同樣需要處處設防,步步為營。

1、對輸入的不信任

(1)對空指針的檢查

不只是輸入,只有是使用到指針的地方,都應該先判斷指針是否為NULL,而內存釋放后,應當將指針設置為NULL。

【真實案例】:注冊系統某段邏輯,正常使用情況下,都有對指針做檢查,在某個錯誤分支,打印日志時,沒檢查就使用了該字符串;結果可正常運行,但當訪問某個依賴模塊超時走到改分支,觸發bug,導致coredump。

(2)對數據長度的檢查

使用字符串或某段buf,特別是memcpy/strcpy時,需要盡量對數據長度做下檢查和截斷。

【真實案例】:接手oauth系統后運行數月表現良好,突然有一天,發生了coredump,經查,是某個業務不按規定請求包中填寫了超長長度,導致memcpy時發生段錯誤,根本原因,還是沒有做好長度檢查。

(3)對數據內容的檢查

某些場景下,沒有對數據內容做檢查就直接使用,可能導致意想不到的結果。

【案例】:sql注入和xss攻擊都是利用了服務端沒有對數據內容做檢查的漏洞。

2、對輸出(變更)的不信任

變更的影響一般體現在輸出,有時候輸出的結果并不能簡單的判斷是否正常,如輸出是加密信息,或者輸出的內容過于復雜。

所以,對于每次變更

(1)修改代碼時,采用不信任編碼,正確的不一定是“對”的,再小的修改也應確認其對后續邏輯的影響,有些修正可能改變原來錯誤時的輸出,而輸出的改變,就會影響到依賴該改變字段的業務。

(2)發布前,應該對涉及到的場景進行測試和驗證,測試可以有效的發現潛在的問題,這是眾所周知的。

(3)發布過程,應該采用灰度發布策略,因為測試并非總是能發現問題,灰度發布,可以減少事故影響的范圍。常見灰度發布的策略有機器灰度、IP灰度、用戶灰度、按比例灰度等,各有優缺點,需要根據具體場景選擇,甚至可以同時采用多種的組合。

(4)發布后,全面監控是有效發現問題的一種方法。因為測試環境和正式環境可能存在不一致的地方,也可能測試不夠完整,導致上線后有問題,所以需采取措施補救

  • A:如使用Monitor監控請求量、成功量、失敗量、關鍵節點等
  • B:使用DLP告警監控成功率
  • C:發布完,在正式環境測試一遍

【案例】oauth系統某次修改后編譯時,發現有個修改不相關的局部變量未初始化的告警,出于習慣對變量進行了初始化(初始化值和編譯器默認賦值不一樣),而包頭某個字段采用了該未初始化的變量,但在測試用例中未能體現,監控也沒細化到每個字段的值,導致測試正常,監控正常;但前端業務齊齊互動使用了該包頭字段,導致發布后影響該業務。

二、服務程序的世界里防不勝防

一般的系統,都會有上下游的存在,正如下圖所示

程序世界里的不信任原則

而上下游的整個鏈路中,每個點都是不能保證絕對可靠的,任何一個點都可能隨時發生故障,讓你措手不及。

因此,不能信任整個鏈路中的任何一個點,需進行設防。

1、對服務本身的不信任

主要措施如下:

(1)服務監控

前面所述的請求量、成功量、失敗量、關鍵節點、成功率的監控,都是對服務環節的單點監控。

在此基礎上,可以加上自動化測試,自動化測試可以模擬應用場景,實現對于流程的監控。

(2)進程秒起

人可能在程序世界里是不可靠的因素(大牛除外),前面的措施,多是依賴人來保證的;所以,coredump還是有可能發生的,這時,進程秒起的實現,就可以有效減少coredump的影響,繼續對外提供服務。

2、對依賴系統的不信任

可采用柔性可用策略,對于根據模塊的不可或缺性,區分關鍵路徑和非關鍵路徑,并采取不同的策略

(1)對于非關鍵路徑,采用柔性放過策略

當訪問非關鍵路徑超時時,簡單的可采取有限制(一定數量、一定比重)的重試,結果超時則跳過該邏輯,進行下一步;復雜一點的統計一下超時的比例,當比例過高時,則跳過該邏輯,進行下一步

(2)對于關鍵路徑,提供弱化服務的柔性策略

關鍵路徑是不可或缺的服務,不能跳過;某些場景,可以根據目的,在關鍵路徑嚴重不可用時,提供弱化版的服務。舉例如派票系統訪問票據存儲信息嚴重不可用時,可提供不依賴于存儲的純算法票據,為彌補安全性的確實,可采取縮短票據有效期等措施。

3、對請求的不信任

(1)對請求來源的不信任

有利可圖的地方,就會有黑產時刻盯著,偽造各種請求,對此,可采取如下措施

A:權限控制

如ip鑒權、模塊鑒權、白名單、用戶登錄態校驗等

B:安全審計

權限控制僅能打擊一下非正常流程的請求,但壞人經常能夠成功模擬用戶正常使用的場景;所以,對于一些重要場景,需要加入安全策略,打擊如IP、號碼等信息聚集,頻率過快等機器行為,請求重放、劫持等請求)

(2)對請求量的不信任

前端的請求,不總是平穩的;有活動時,會暴漲;前端業務故障恢復后,也可能暴漲;前端遭到惡意攻擊時,也可能暴漲;一旦請求量超過系統負載,將會發生雪崩,最終導致整個服務不可用,對此種種突發情況,后端服務需要有應對措施

  • A:頻率限制,控制各個業務的最大請求量(業務根據正常請求峰值的2-3倍申請,該值可修改),避免因一個業務暴漲影響所有業務的情況發生。
  • B:過載保護,雖然有頻率限制,但業務過多時,依然有可能某個時間點,所有的請求超過了系統負載,或者到某個IDC,某臺機器的請求超過負載,為避免這種情況下發生雪崩,將超過一定時間的請求丟棄,僅處理部分有效的請求,使得系統對外表現為部分可用,而非完全不可用。

三、運營的世界里不可預測

程序世界里的不信任原則

1、對機器的不信任

機器故障時有發生,如果服務存在單點問題,故障時,則服務將完全不可用,而依賴人工的恢復是不可預期的,對此,可通過以下措施解決

(1)容災部署

即至少有兩臺以上的機器可以隨時對外提供服務。

(2)心跳探測

用于監控機器是否可用,當機器不可用時,若涉及到主備機器的,應做好主備機器的自動切換;若不涉及到主備的,禁用故障機器對外提供服務即可。

2、對機房的不信任

現實生活中,整個機房不可用也是有發生過的,如2015年的天津濱海新區爆炸事故,導致騰訊在天津的多個機房不能對外提供正常服務,對此采取的措施有:

(1)異地部署

不同IDC、不同城市、不同國家等部署,可用避免整個機房不可用時,有其他機房的機器可以對外提供服務

(2)容量冗余

對于類似QQ登陸這種入口型的系統,必須保持兩倍以上的冗余;如此,可以保證當有一個機房故障時,所有請求遷移到其他機房不會引發系統過載。

3、對電力的不信任

雖然我們越來越離不開電力,但電力卻不能保證一直在為我們提供服務。斷電時,其影響和機器故障、機房故障類似,機器會關機,數據會丟失,所以,需要對數據進行備份。

(1)磁盤備份

來電后,機器重啟,可以從磁盤中恢復數據,但可能會有部分數據丟失。

(2)遠程備份

機器磁盤壞了,磁盤的數據會丟失,使用對于重要系統,相關數據應當考慮采用遠程備份。

4、對網絡的不信任

(1)不同地方,網絡時延不一樣

一般來說,本地就近的機器,時延要好于異地的機器, 所以,比較簡單的做法就是近尋址,如CMLB。

也有部分情況,是異地服務的時延要好于本地服務的時延,所以,如果要做到較好的最優路徑尋址,就需要先做網絡探測,如Q調

(2)常有網絡有波動或不可用情況

和機器故障一樣處理,應當做到自動禁用;但網絡故障和機器故障又不一樣,經常存在某臺機器不可用,但別的機器可以訪問的情況,這時就不能在服務端禁用機器了,而應當采用本地回包統計策略,自動禁用服務差機器;同時需配合定時探測禁用機器策略,自動恢復可正常提供服務機器。

5、對人的不信任

人的因素在運營的世界里其實是不穩定的因素(大牛除外),所以,不能對人的操作有過多的信任。

(1)操作備份

每一步操作都有記錄,便于發生問題時的回溯,重要的操作需要review,避免個人考慮不周導致事故。

(2)效果確認

實際環境往往和測試環境是存在一些差異,所有在正式環境做變更后,應通過視圖review和驗證來確認是否符合預期。

(3)變更可回滾

操作前需對舊程序、舊配置等做好備份,以便發生故障時,及時恢復服務。

(4)自動化部署

機器的部署,可能有一堆復雜的流程,如各種權限申請,各種客戶端安裝等,僅靠文檔流程操作加上測試驗證時不夠的,可能某次部署漏了某個步驟而測試又沒測到,上線后就可能發生事故若能所有流程實現自動化,則可有效避免這類問題。

(5)一致性檢查

現網的發布可能因某個節點沒同步導致漏發,也就是不同的機器服務不一樣;對此,有版本號的,可通過版本號監控發現;沒版本號的,則需借助進程、配置等的一致性檢查來發現問題。

備注:以上提到的不信任策略,有的不能簡單的單條使用,需要結合其他的措施一起使用的。

四、小結

好了,先寫這么多。最重要的還是那句話,程序的世界里,應該堅持不信任原則,處處設防。

責任編輯:未麗燕 來源: 騰訊云技術社區
相關推薦

2011-09-22 14:16:16

Wintel

2010-05-10 10:55:28

職場IT培訓

2013-09-17 15:19:51

2011-03-03 15:51:54

2022-08-18 23:13:25

零信任安全勒索軟件

2021-10-21 05:58:59

安全多方計算密碼信息安全

2024-09-27 17:08:45

2017-10-16 09:56:16

2012-07-27 13:51:39

2018-06-19 11:00:27

服務器性能數據

2020-11-23 10:47:46

人工智能開發技術

2014-02-25 15:40:25

2019-05-07 08:33:32

物聯網設備物聯網安全IOT

2021-05-26 13:19:31

惡意軟件微軟文件

2018-01-29 21:50:20

自動駕駛人工智能無人車

2022-10-09 10:38:58

零信任網絡安全

2017-11-20 10:37:03

2019-07-25 13:00:23

區塊鏈節點客戶端

2021-08-06 17:15:50

零信任物聯網

2011-08-10 10:14:37

云計算
點贊
收藏

51CTO技術棧公眾號

欧美色涩在线第一页| 粉嫩嫩av羞羞动漫久久久| 亚洲天天在线日亚洲洲精| 久久午夜夜伦鲁鲁一区二区| 免费在线观看av| 成人三级在线视频| 日韩美女激情视频| 国产av 一区二区三区| 日韩三级毛片| 在线播放一区二区三区| 国产资源在线视频| 欧美激情办公室videoshd| 成人永久看片免费视频天堂| 国产精品第2页| 免费一级片视频| 欧美色图国产精品| 亚洲国产精品一区二区久| 黄色永久免费网站| 色偷偷偷在线视频播放| 亚洲婷婷在线视频| 日韩av一区二区三区美女毛片| 国产免费不卡av| 日本伊人午夜精品| 1769国产精品| 久久久久亚洲av无码专区 | 91嫩草视频在线观看| 中文字幕免费在线观看视频| 欧美精品国产一区| 色偷偷综合社区| 久久亚洲AV无码专区成人国产| 成午夜精品一区二区三区软件| 欧美日韩国产高清一区二区| 人妻少妇被粗大爽9797pw| 日韩激情av| 亚洲情趣在线观看| 在线免费观看成人| 超碰免费在线| 亚洲国产精品av| 奇米视频888战线精品播放| 欧美 日韩 国产 在线| 国产精品白丝jk黑袜喷水| 国产美女精彩久久| 亚洲无码精品国产| 免费成人在线视频观看| 国产成人一区三区| 老熟妇一区二区三区| 中文日韩欧美| 91精品国产九九九久久久亚洲| 欧美成人三级在线观看| 欧美激情第8页| 久久在线免费视频| 成年人一级黄色片| 精品视频97| 尤物99国产成人精品视频| 亚洲一区二区三区蜜桃| 久久av网址| 国产一区二区三区丝袜| 少妇人妻好深好紧精品无码| 教室别恋欧美无删减版| 亚洲视频在线观看视频| 国产美女永久免费无遮挡| 日韩精品欧美激情一区二区| 日韩在线视频网| 亚洲成人生活片| 精品电影一区| 欧美一区二区影院| 日韩精品一区二区亚洲av观看| 老司机精品导航| 国产精品久久久久久婷婷天堂| 伊人免费在线观看| 国产综合久久久久久鬼色| 亚洲综合日韩中文字幕v在线| 精品国产av 无码一区二区三区| 国产伦精品一区二区三区免费迷 | 少妇性l交大片7724com| 亚洲国产高清在线观看| 亚洲第一精品自拍| 久久久久久久久久久国产精品| 久久av超碰| 久久九九热免费视频| 国产亚洲精品码| 嫩草成人www欧美| 国产一区二区香蕉| 丰满熟妇人妻中文字幕| 久久一区二区三区四区| 亚洲欧洲一二三| 国产探花在线观看| 日本韩国视频一区二区| 99中文字幕在线| 精品素人av| 在线日韩中文字幕| 免费三片在线播放| 三级在线观看一区二区| 亚洲一区二区三区视频播放| 无码精品在线观看| 国产精品久久久爽爽爽麻豆色哟哟 | 亚洲视频1区2区| 欧美二区在线视频| 国产成人免费视频网站视频社区 | 好看的日韩精品视频在线| 懂色av中文在线| 亚洲福利一区二区三区| 怡红院亚洲色图| 亚洲成在人线免费观看| 久久影院模特热| www.久久精品视频| 国产成人久久精品77777最新版本| 欧美日韩另类综合| 手机电影在线观看| 欧美日韩国产综合一区二区 | 色小子综合网| 欧美亚洲另类激情另类| 国产色片在线观看| 国产嫩草影院久久久久| 青娱乐自拍偷拍| 国产午夜久久av| 一区二区福利视频| 一级免费在线观看| 国产精品888| 一区二区三区免费看| 一本大道色婷婷在线| 精品三级在线观看| 尤物在线免费视频| 免费看日韩精品| 欧美性色黄大片人与善| 2001个疯子在线观看| 91精品久久久久久蜜臀| 国产精品18在线| 久久久一二三| 欧美精品一区三区在线观看| av手机在线观看| 欧美r级电影在线观看| 久久高清内射无套| 激情综合色综合久久| 亚洲精品国产精品久久| 日韩欧美一区二区三区免费观看| 亚洲精品久久久久久久久久久| 久久中文免费视频| 国产在线日韩欧美| 一区二区冒白浆视频| 欧美风情在线视频| 色青青草原桃花久久综合| 波多野结衣小视频| 国产校园另类小说区| 毛片av免费在线观看| 日韩成人av在线资源| 91精品国产高清自在线| 午夜视频1000| 欧美日韩一区二区在线播放| 国产肉体xxxx裸体784大胆| 亚洲精选久久| 精品国产日本| 成人爽a毛片免费啪啪| 国产手机视频精品| 91video| 国产性天天综合网| 中文字幕免费高清在线| 欧美一区综合| 国产精华一区二区三区| 超碰在线cao| 国产视频丨精品|在线观看| 无码人妻久久一区二区三区不卡| 国产人妖乱国产精品人妖| 我要看一级黄色大片| 国产精品不卡| 99久久精品无码一区二区毛片| 黄页在线观看免费| 日韩成人av网址| 免费观看日批视频| 国产精品色呦呦| 欧美在线a视频| 一区视频在线看| 欧美综合77777色婷婷| 久久精品国产福利| 欧美老女人在线视频| 天堂在线中文字幕| 91久久精品一区二区三| 麻豆精品国产免费| gogogo免费视频观看亚洲一| 男女啪啪网站视频| 综合在线视频| 精品一区国产| 亚洲欧美专区| 97在线视频免费播放| 91社区在线观看播放| 日韩视频国产视频| 天干夜夜爽爽日日日日| 18涩涩午夜精品.www| 精品人妻一区二区免费视频| 日韩成人一区二区三区在线观看| 久久av高潮av| 国内精品久久久久久久影视简单 | 欧美视频网站| 欧美一区二区视频在线| 国产免费av国片精品草莓男男 | 国产极品一区| 国产综合在线看| 欧美成年黄网站色视频| 亚洲精品国产suv| 国产三级在线观看视频| 色偷偷成人一区二区三区91| 亚洲av无码一区二区三区在线| 99久久久精品免费观看国产蜜| 欧美美女一级片| 亚洲影院在线| a级片一区二区| 欧美精品一区二区三区中文字幕| 99热最新在线| 日韩国产一二三区| 欧美影院久久久| 丁香花视频在线观看| 最近中文字幕日韩精品| 你懂的视频在线播放| 精品三级av在线| va视频在线观看| 欧美日韩国产高清一区二区三区 | 丁香啪啪综合成人亚洲| 午夜精品免费| 中文字幕免费在线不卡| 国产午夜一区| 欧美高清一区二区| 九九热播视频在线精品6| 91在线免费观看网站| 中文字幕系列一区| 欧洲精品在线视频| а√天堂8资源在线| 欧美激情三级免费| 成年人网站在线| 俺也去精品视频在线观看| 久久这里精品| 亚洲视频综合网| 蜜桃视频在线免费| 日韩精品中文字幕有码专区| 黄色av小说在线观看| 日韩欧美国产一二三区| 国产又黄又粗又猛又爽| 欧美性猛交xxxx乱大交退制版 | 久久一二三四| 日韩精品视频一区二区在线观看| 亚洲东热激情| 欧美不卡在线播放| 日韩天堂av| 国产成人黄色片| 亚洲女同同性videoxma| www黄色av| 老司机精品视频网站| 午夜激情在线观看视频| 日韩精品免费视频人成| 中文字幕国产传媒| 免费欧美在线视频| 97超碰人人爽| 国产精品夜夜嗨| 四虎精品一区二区| eeuss国产一区二区三区 | 丰满少妇一区二区三区专区| 久久av在线| 国模杨依粉嫩蝴蝶150p| 喷水一区二区三区| www.久久91| 国产精品一二三四| 国内精品免费视频| av欧美精品.com| 女人又爽又黄免费女仆| 国产精品三级av| 欧美成人777| 午夜精品免费在线观看| 三级视频在线观看| 欧美欧美午夜aⅴ在线观看| 国产美女永久免费| 亚洲福利小视频| 国产露出视频在线观看| 久久激情视频久久| 色呦呦久久久| 欧美一级片在线播放| 伊人久久高清| 亚洲sss综合天堂久久| 欧美毛片免费观看| 亚洲高清资源综合久久精品| 欧美91福利在线观看| 久久精品国产精品亚洲色婷婷| 日韩在线一区二区| 男插女视频网站| 久久久久久久久岛国免费| 成人信息集中地| 午夜精品久久久久久| 一级片视频播放| 欧美精品一区二区三区久久久 | 中文字幕亚洲在线| 欧美hdxxx| 国产精品网红直播| 国产精品调教视频| 视频一区二区三| 亚洲国产专区| 一级淫片在线观看| 久久综合色一综合色88| 好吊日在线视频| 色婷婷精品久久二区二区蜜臀av | 国产成人亚洲精品狼色在线| 在线免费观看日韩av| 亚洲日本青草视频在线怡红院| 国产欧美日韩另类| 91精品国产综合久久精品性色 | 国产成人精品亚洲线观看| 日韩欧美一区二区在线观看| 欧美a级一区| 亚洲少妇久久久| 99精品在线观看视频| 日日噜噜夜夜狠狠久久波多野| 一本久久a久久免费精品不卡| 成 人片 黄 色 大 片| 中文字幕亚洲欧美日韩2019| 天堂av在线网| 99国产精品久久久久老师| 日韩欧美视频在线播放| 北条麻妃在线视频观看| 国产伦精品一区二区三区视频青涩| 久久国产柳州莫菁门| 精品日韩中文字幕| 亚洲黄色片视频| 超碰97人人做人人爱少妇| 日本欧美韩国| 欧美连裤袜在线视频| 激情久久久久久久| av在线免费观看不卡| 国产精品美女www爽爽爽| 69视频免费看| 亚洲精品一区在线观看香蕉 | 国产精品久久久久久亚洲调教| 亚洲+变态+欧美+另类+精品| 亚洲精品蜜桃久久久久久| 国产麻豆9l精品三级站| 疯狂试爱三2浴室激情视频| 欧美日本在线播放| h视频在线播放| 国产精品久久精品| 国产不卡av一区二区| 大肉大捧一进一出好爽视频| 成人高清视频免费观看| 国产亚洲精品码| 亚洲国产精品资源| 国产拍在线视频| 国内一区在线| 99综合视频| 欧美 日本 国产| 粉嫩av一区二区三区免费野| 亚洲欧美一区二区三| 2019中文字幕免费视频| 色狼人综合干| 2022亚洲天堂| 欧美极品xxx| 在线视频欧美亚洲| yellow中文字幕久久| 一区二区三区| www国产无套内射com| av中文一区二区三区| 色一情一乱一伦| 在线播放日韩专区| 亚洲最大的免费视频网站| 欧美黄色免费网址| 不卡一卡二卡三乱码免费网站| 国产成人在线观看网站| 亚洲女成人图区| 欧美大片1688网站| 三年中国中文在线观看免费播放| 国产一区二区在线免费观看| 久久久.www| 亚洲精品一区二区三区婷婷月| 韩国成人在线| www成人免费| 久久九九久精品国产免费直播| 在线免费观看日韩视频| 欧美成人免费小视频| 欧美美女啪啪| 天堂av8在线| 精品高清一区二区三区| 成av人电影在线观看| 亚洲a一级视频| 国产精品久久777777毛茸茸| 中文字幕欧美激情极品| 欧美一区二区三区色| 美女视频在线免费| 亚洲欧洲精品一区二区三区波多野1战4| 韩国毛片一区二区三区| 久久久国产高清| 日韩午夜在线视频| 久久久久久毛片免费看| 午夜剧场高清版免费观看| 亚洲一区二区五区| 国产高清av在线| 粉嫩av一区二区三区免费观看 | 亚洲综合20p| 欧美色另类天堂2015| 直接在线观看的三级网址| 欧美日韩一区二 | 国产精品乱看| 欧美另类videoxo高潮| 亚洲精品日韩在线| 成人在线日韩| 日韩av大片免费看| 国内毛片毛片毛片毛片|