国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

讀程序員的README筆記11_軟件交付(下)

這篇具有很好參考價值的文章主要介紹了讀程序員的README筆記11_軟件交付(下)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

讀程序員的README筆記11_軟件交付(下)文章來源地址http://www.zghlxwxcb.cn/news/detail-760012.html

1.?部署環(huán)節(jié)

1.1.?部署軟件是指將軟件包送到它們需要運行的地方的行為

1.2.?移動應(yīng)用的部署與核反應(yīng)堆的部署不同,但同樣的基本原則都適用

1.3.?自動部署

1.3.1.?使用腳本而不是手動步驟來部署軟件

1.3.2.?自動部署的可預(yù)測性更高,因為腳本的行為是可以重復(fù)的,并且有版本控制

1.3.3.?當事情出錯時,運維人員能夠推理出部署行為

1.3.4.?腳本比人更不容易犯錯,而且它們消除了在部署過程中去手動調(diào)整系統(tǒng)、登錄計算機或復(fù)制軟件包的誘惑

1.3.5.?高度發(fā)展的自動化催生了持續(xù)交付

1.3.5.1.?通過持續(xù)交付,人力被完全從部署環(huán)節(jié)中移除

1.3.5.2.?打包、測試、發(fā)布、部署,甚至展開環(huán)節(jié)都是自動化的

1.3.6.?建議用現(xiàn)成的工具來自動化你的部署操作

1.3.6.1.?Puppet、Salt、Ansible和Terraform等現(xiàn)成的解決方案可以與現(xiàn)有的工具集成,并且它們是專門為了自動化部署而設(shè)計的

1.3.7.?只需盡力通過自動化周圍的一切來縮小阻斷任務(wù)的邊界

1.4.?部署的原子性

1.4.1.?安裝腳本通常涉及多個步驟,不要假設(shè)每一步都能成功執(zhí)行

1.4.2.?應(yīng)使部署要么全部完成要么什么都沒做(即原子性)

1.4.3.?使部署原子化的最簡單方法之一是在與舊版本不同的位置上安裝軟件,不要覆蓋任何東西

1.4.4.?在新的位置安裝軟件包還有一個好處,那就是回滾將變得更加容易

1.4.4.1.?只需再次指向舊的版本

1.4.5.?同一軟件的不同版本可以在同一臺計算機上同時運行

1.5.?獨立地部署應(yīng)用

1.5.1.?順序部署

1.5.1.1.?一個應(yīng)用程序的部署需要先升級另一個應(yīng)用程序

1.5.1.2.?這是在有許多應(yīng)用程序或服務(wù)相互通信的軟件中常見的問題

1.5.1.3.?順序部署的需求會減慢部署速度,因為應(yīng)用程序必須相互等待

1.5.2.?務(wù)必避免順序部署的需求

1.5.3.?構(gòu)建可獨立部署的應(yīng)用程序

1.5.3.1.?不依賴順序部署的軟件必須向后和向前兼容

1.5.3.2.?通信協(xié)議必須繼續(xù)允許較新和較舊的版本相互操作

2.?展開環(huán)節(jié)

2.1.?一旦新的代碼被部署了,你就可以解開它(也就是展開)

2.2.?一下子把所有東西都換成新的代碼是有風(fēng)險的

2.2.1.?再多的測試都不會消除潛在的錯誤,而且一次性向所有的用戶展開代碼會同時對每個人造成損害

2.3.?特性開關(guān)、金絲雀部署和藍綠部署都只面向一部分用戶展開代碼,并在出現(xiàn)問題時提供緩解機制

2.4.?系統(tǒng)監(jiān)控

2.4.1.?增加或減少的決定仍然是由人們參考日志和系統(tǒng)指標而做出的

2.4.2.?當代碼被提交時,你的工作還沒有完成

2.4.3.?當代碼被展開時,它仍然沒有完成

2.5.?特性開關(guān)

2.5.1.?feature flag

2.5.2.?特性切換或代碼分割

2.5.3.?允許開發(fā)人員控制新代碼何時發(fā)布給用戶

2.5.4.?可以是“開”和“關(guān)”的布爾型的值、允許列表、基于百分比的斜坡,甚至是小型函數(shù)

2.5.5.?基于百分比的斜坡允許開發(fā)者為更大范圍的用戶慢慢打開該特性,通常從公司擁有的測試賬戶開始,然后在進行基于百分比的增量發(fā)布之前,先向單個用戶傾斜

2.5.6.?函數(shù)根據(jù)輸入的數(shù)動態(tài)地確定開關(guān),通常在用戶請求時就傳入

2.5.7.?如果可能的話,隔離與特性開關(guān)相關(guān)聯(lián)的數(shù)據(jù),在所有的開關(guān)狀態(tài)下測試你的代碼,并編寫腳本來清理回滾的特性數(shù)據(jù)

2.5.8.?請確保清理那些已經(jīng)被完全淘汰或不再使用的舊特性開關(guān)

2.5.9.?清理特性開關(guān)就像重構(gòu)一樣,應(yīng)該漸進地、適時地進行清理

2.5.10.?大多數(shù)的特性開關(guān)是由人類控制的

2.5.11.?特性開關(guān)有時被用于A/B測試,這是一種測試用戶對新特性反應(yīng)的技術(shù)

2.5.11.1.?如果以具有統(tǒng)計意義的方式對用戶進行分組,用特性開關(guān)進行A/B測試是可行的

2.5.11.2.?除非開關(guān)分發(fā)系統(tǒng)為你創(chuàng)建水桶測試用到的桶,并由數(shù)據(jù)科學(xué)家運行你的實驗,否則不要嘗試用特性開關(guān)進行A/B測試

2.6.?熔斷器

2.6.1.?是二進制的(開/關(guān))、永久性的,而且是自動化的

2.6.2.?熔斷器是一種特殊的特性開關(guān),由運維事件(如延遲的峰值或異常)控制

2.6.3.?熔斷器用來防止性能下降

2.6.3.1.?如果超過了延遲的閾值,某些特性可以被自動禁用或限制速率

2.6.3.2.?如果日志顯示出異常行為——程序異常或日志詳細程度的飆升,也可以觸發(fā)熔斷

2.6.3.3.?熔斷器還可以防止永久性損壞

2.7.?并行的服務(wù)版本梯隊

2.7.1.?將新版本的網(wǎng)絡(luò)服務(wù)與舊版本一起部署是具有可行性的

2.7.2.?平行部署可以讓你緩慢地升級,以降低風(fēng)險,并在出錯時快速回滾

2.7.3.?兩個版本的應(yīng)用程序都必須能很好地相互配合

2.7.4.?所有模式都必須貫徹向后和向前兼容

2.7.5.?金絲雀部署和藍綠部署是兩種非常常見的并行部署策略

2.7.6.?金絲雀部署用于處理高流量并會部署到大量實例的服務(wù)

2.7.6.1.?一個新的應(yīng)用程序版本被首先部署到一組受限的計算機上,全部用戶中的一個小的子集會被路由到這個金絲雀版本

2.7.7.?藍綠部署指的是運行兩個不同版本的應(yīng)用程序:一個是主動的,一個是被動的

2.7.7.1.?新版本被部署到被動環(huán)境中,當它準備好時,流量被切換到新版本,它就變成了主動的,而以前的版本則變成了被動的

2.7.7.2.?與金絲雀部署不同的是,流量的切換是原子化的,藍色和綠色環(huán)境盡可能地保持一致

2.7.7.3.?在云環(huán)境中,一旦版本被認為是穩(wěn)定的,被動環(huán)境通常會被銷毀

2.7.7.4.?當流量不容易被劃出子集或者無法并行運行不同的版本時,藍綠部署就派上了用場

2.7.7.5.?與金絲雀部署不同的是,每個環(huán)境必須能夠處理100%的用戶流量

2.8.?摸黑啟動

2.8.1.?摸黑啟動(有時被稱為影子流量)將新的代碼暴露在真實的流量中,而不使其對終端用戶可見,即使代碼是壞的,也沒有用戶受到影響

2.8.2.?摸黑啟動的軟件其實仍然啟用了,代碼也被調(diào)用了,只是結(jié)果被丟掉了

2.8.3.?摸黑啟動可幫助開發(fā)者和運維人員在生產(chǎn)環(huán)境中了解他們的軟件,對用戶的影響最小

2.8.4.?每當你發(fā)布特別復(fù)雜的變化時,就可以利用摸黑啟動的優(yōu)勢

2.8.5.?這種模式對于驗證系統(tǒng)的遷移特別有效

2.8.6.?在摸黑啟動模式下,應(yīng)用程序的代理位于實時流量和應(yīng)用程序之間

2.8.7.?某個系統(tǒng)在暗中讀取模式下運行時,可能使用與生產(chǎn)系統(tǒng)相同的數(shù)據(jù)存儲

2.8.8.?由于同一請求有兩次操作,一次在生產(chǎn)系統(tǒng),一次在影子系統(tǒng),你應(yīng)該注意避免與重復(fù)相關(guān)的錯誤

到了這里,關(guān)于讀程序員的README筆記11_軟件交付(下)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 讀程序員的README筆記03_變更代碼

    讀程序員的README筆記03_變更代碼

    2.2.1.1.?定義變更點 2.2.1.2.?尋找測試點 2.2.1.3.?打破依賴關(guān)系 2.2.1.4.?編寫測試 2.2.1.5.?進行修改和重構(gòu) 2.2.2.1.?如果需要的話,為了讓測試成為可能,可以對代碼進行重構(gòu) 2.2.2.2.?針對現(xiàn)有的軟件行為也要添加測試用例 2.2.2.3.?一旦豎起柵欄,你的修改點周圍的區(qū)域就得到了很

    2024年02月05日
    瀏覽(60)
  • 讀程序員的README筆記06_測試(上)

    讀程序員的README筆記06_測試(上)

    4.2.3.1.?消除外部依賴性可以使單元測試快速而集中 4.5.3.1.?壓力測試可暴露系統(tǒng)的負載能力究竟有多大,以及在過度負載下會發(fā)生什么狀況 4.6.3.1.?ISO認證審核委員會要求提供需求和相應(yīng)的測試文件證據(jù) 5.2.1.1.?管理測試的setup和teardown 5.2.1.2.?管理測試執(zhí)行和編排 5.2.1.2.1.?可

    2024年02月05日
    瀏覽(53)
  • 讀程序員的README筆記09_代碼評審

    讀程序員的README筆記09_代碼評審

    4.4.1.1.?walk-through 4.4.1.2.?一種面對面的會議,開發(fā)人員在會上共享他們的屏幕,并引導(dǎo)隊友了解正在進行的修改內(nèi)容 4.4.1.3.?是啟發(fā)想法和讓你的團隊適應(yīng)代碼修改的好方法 5.1.2.1.?如果緊急度不明確,請詢問提交者 5.4.4.1.?SQL注入攻擊、敏感數(shù)據(jù)泄露和跨站腳本攻擊的漏洞

    2024年02月05日
    瀏覽(47)
  • 讀程序員的README筆記04_防御式編程

    讀程序員的README筆記04_防御式編程

    1.2.1.1.?切記讓你的代碼安全而有彈性 1.2.1.2.?編寫擁有良好防御性的代碼是一種對那些運行你的代碼的人(包括你自己?。└挥型樾牡谋憩F(xiàn) 1.2.1.3.?防御性的代碼較少發(fā)生故障,就算它發(fā)生故障,也更有可能恢復(fù) 1.2.1.4.?安全的代碼利用編譯時的校驗來避免運行時的故障,使

    2024年02月05日
    瀏覽(20)
  • 讀程序員的README筆記01_學(xué)習(xí)如何學(xué)習(xí)

    讀程序員的README筆記01_學(xué)習(xí)如何學(xué)習(xí)

    6.3.2.1.?錯誤是不可避免的。成為一名軟件工程師的路途艱辛,我們有時會失敗 6.5.4.1.?代碼從不說謊。注釋有時卻會。 6.5.4.1.1.?Code never lies. Comments sometimes do 6.5.4.1.2.?去讀源代碼,因為它并不總是與設(shè)計文檔相吻合 6.5.4.1.3.?不要只讀你自己的代碼庫,還要去閱讀高質(zhì)量的開

    2024年02月05日
    瀏覽(24)
  • 讀程序員的README筆記13_技術(shù)設(shè)計流程(上)

    讀程序員的README筆記13_技術(shù)設(shè)計流程(上)

    3.4.1.1.?外界干擾是深度工作的“殺手” 3.4.1.2.?避免所有的交流方式 3.4.1.2.1.?關(guān)閉聊天 3.4.1.2.2.?關(guān)閉電子郵件 3.4.1.2.3.?禁用電話通知 3.4.1.2.4.?換個地方坐 3.4.2.1.?有形產(chǎn)出是一份設(shè)計文檔 4.2.3.1.?如果有一個以上的問題,詢問哪些問題是最優(yōu)先的 4.3.7.1.?注意與外人交流時不

    2024年02月04日
    瀏覽(53)
  • 讀程序員的README筆記14_技術(shù)設(shè)計流程(下)

    讀程序員的README筆記14_技術(shù)設(shè)計流程(下)

    1.4.2.1.?該項目將需要至少一個月的工程時間 1.4.2.2.?變更將對軟件的擴展和維護產(chǎn)生長期的影響 1.4.2.3.?變更將顯著影響其他團隊 1.5.2.1.?設(shè)計文檔是一種工具,可以幫助你思考、獲得反饋、讓你的團隊了解情況、培養(yǎng)新的工程師,并推動項目規(guī)劃 1.5.5.1.?閱讀大量的設(shè)計文檔

    2024年02月04日
    瀏覽(20)
  • 讀程序員的README筆記05_日志、監(jiān)控與配置

    讀程序員的README筆記05_日志、監(jiān)控與配置

    6.1.1.1.?測量的是某個事件發(fā)生的次數(shù) 6.1.1.2.?通過使用計數(shù)器獲得緩存命中數(shù)和請求總數(shù),你就可以計算出緩存命中率 6.1.2.1.?一個基于時間點的測量值 6.1.2.2.?既可以上升又可以下降 6.1.3.1.?根據(jù)事件的大小幅度分成不同的范圍 6.1.3.2.?每一個范圍都會有一個計數(shù)器,每當某

    2024年02月05日
    瀏覽(50)
  • 讀程序員的README筆記18_職業(yè)生涯規(guī)劃

    讀程序員的README筆記18_職業(yè)生涯規(guī)劃

    3.1.5.1.?他們的工作職責之一是管理他們的團隊,而管理的一部分就是對你投入時間 3.1.5.2.?對管理者而言,反復(fù)取消一對一面談可以是一個有價值的信號 3.3.2.1.?每個目標都附有3到5個關(guān)鍵結(jié)果,它們是標志著目標達成的具體指標 3.3.2.2.?不要把關(guān)鍵結(jié)果變成待辦事項清單 3.

    2024年02月04日
    瀏覽(18)
  • 讀程序員的README筆記12_On-Call

    讀程序員的README筆記12_On-Call

    4.4.2.1.?回應(yīng)不一定代表解決方案 4.4.3.1.?每次更新時,提供一個新的時間預(yù)估 4.5.3.1.?如果請求者沒有回應(yīng),就說你將在24小時內(nèi)因缺乏回應(yīng)而關(guān)閉該任務(wù)票,然后真的這樣做 5.3.1.1.?工程師必須找到問題,確定其嚴重性,并確定誰能修復(fù)它 5.3.1.2.?確認問題并了解其影響,以

    2024年02月04日
    瀏覽(40)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包