<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一份Go微服務(wù)生產(chǎn)指南清單給你

          共 3644字,需瀏覽 8分鐘

           ·

          2022-05-14 08:24

          最近閱讀了《生產(chǎn)微服務(wù)》這本書(shū),摘錄了生產(chǎn)就緒check列表和評(píng)估你微服務(wù)的清單。一個(gè)服務(wù)從0-1的生產(chǎn)過(guò)程。很值得參考。

          生產(chǎn)就緒檢查列表

          一個(gè)生產(chǎn)就緒的微服務(wù)是穩(wěn)定且可靠的

          • 它有一個(gè)標(biāo)準(zhǔn)化的開(kāi)發(fā)周期

          • 它的代碼需要經(jīng)過(guò)初步檢查、單元測(cè)試、集成測(cè)試以及端到端的測(cè)試

          • 它的測(cè)試、打包、構(gòu)建和發(fā)布流程是自動(dòng)化的。

          • 它有標(biāo)準(zhǔn)化的部署管道,包括staging階段、canary階段和生產(chǎn)階段。

          • 它的客戶端是已知的

          • 它的依賴項(xiàng)是已知的,而且是有備份的,還有可選的回退方案以及緩存,以防出 現(xiàn)依賴項(xiàng)失效。

          • 它有穩(wěn)定可靠的路由和服務(wù)發(fā)現(xiàn)機(jī)制

          一個(gè)生產(chǎn)就緒的微服務(wù)是可伸縮且高性能的

          • 明確的質(zhì)的增長(zhǎng)規(guī)模和量的增長(zhǎng)規(guī)模。
          • 高效地使用硬件資源。
          • 已識(shí)別出資源的瓶頸和需求。
          • 容量規(guī)劃自動(dòng)化,并通過(guò)調(diào)度作業(yè)來(lái)執(zhí)行。
          • 依賴項(xiàng)也會(huì)隨之伸縮。
          • 可以隨著客戶端的伸縮而伸縮
          • 業(yè)務(wù)流量模式有章可循。
          • 發(fā)生故障時(shí),業(yè)務(wù)流量可以被重新路由
          • 使用支持伸縮性和高性能的編程語(yǔ)言來(lái)實(shí)現(xiàn)。
          • 以高性能的方式處理任務(wù)。
          • 以可伸縮和高性能的方式處理和存儲(chǔ)數(shù)據(jù) 。

          一個(gè)具備容錯(cuò)和災(zāi)備能力的生產(chǎn)就緒的微服務(wù)

          • 沒(méi)有故障點(diǎn)
          • 所有可能的故障場(chǎng)景都已被識(shí)別出來(lái)
          • 已經(jīng)通過(guò)代碼測(cè)試、負(fù)載測(cè)試和混沌測(cè)試,保證了微服務(wù)的彈性 。
          • 自動(dòng)化的故障檢測(cè)和挽救措施 。
          • 微服務(wù)開(kāi)發(fā)團(tuán)隊(duì)和整個(gè)組織具有標(biāo)準(zhǔn)化的事故和中斷處理流程

          一個(gè)得到恰當(dāng)監(jiān)控的生產(chǎn)就緒的微服務(wù)

          • 它的關(guān)鍵性度量指標(biāo)在主機(jī)級(jí)別、基礎(chǔ)設(shè)施級(jí)別和微服務(wù)級(jí)別得到識(shí)別和監(jiān)控 。
          • 它有能夠反映微服務(wù)過(guò)去狀態(tài)的日志
          • 它的儀表盤(pán)包含了所有的關(guān)鍵性度量指標(biāo),而且很容易讀懂 。
          • 它的告警具有可操作性,并且定義了閾值
          • 有一個(gè)專門(mén)的輪班待命機(jī)制負(fù)責(zé)監(jiān)控微服務(wù),并對(duì)事故和中斷做出響應(yīng) 。
          • 有一個(gè)清晰的、良好定義的標(biāo)準(zhǔn)待命流程,用于處理事故和中斷 。

          一個(gè)生產(chǎn)就緒的微服務(wù)具有良好的文檔并且為人 所理解

          • 它有詳盡的文檔
          • 它的文檔會(huì)定期更新
          • 它的文檔包含了如下內(nèi)容:
            • 微服務(wù)描述
            • 架構(gòu)圖
            • 待命人員的信息
            • 重要信息的鏈接
            • 開(kāi)發(fā)上手指南
            • 服務(wù)請(qǐng)求消息流
            • 端點(diǎn)的信息
            • 依賴項(xiàng)的信息
            • 運(yùn)行手冊(cè),以及常見(jiàn)問(wèn)題答疑
          • 它為開(kāi)發(fā)人員、團(tuán)隊(duì)和組織所理解 。
          • 它符合生產(chǎn)就緒標(biāo)準(zhǔn)并且滿足相關(guān)要求 。
          • 它的架構(gòu)經(jīng)過(guò)了反復(fù)的評(píng)審

          評(píng)估你的微服務(wù)

          穩(wěn)定性和可靠性

          開(kāi)發(fā)周期

          • 是否有一個(gè)可以存放所有代碼的中心代碼倉(cāng)庫(kù)?
          • 開(kāi)發(fā)人員所在的開(kāi)發(fā)環(huán)境是否準(zhǔn)確反映了產(chǎn)品狀態(tài)(例如,是否準(zhǔn)確反映了實(shí)際情況)?
          • 是否有代碼檢查、單元測(cè)試、集成測(cè)試和端到端的測(cè)試?是否有代碼審查流程和策略?
          • 是否具有自動(dòng)化的測(cè)試、打包、構(gòu)建和發(fā)布流程?

          部署管道

          • 微服務(wù)生態(tài)系統(tǒng)是否有一個(gè)標(biāo)準(zhǔn)化的部署管道?
          • 部署管道里是否有 full staging 或 partial staging 階段?
          • staging 環(huán)境對(duì)生產(chǎn)環(huán)境有怎樣的訪問(wèn)權(quán)限?
          • 部署管道里是否有 canary 階段?
          • canary 階段是否有足夠的時(shí)間來(lái)捕捉所有的缺陷?
          • canary 階段是否準(zhǔn)確地模擬了生產(chǎn)環(huán)境的業(yè)務(wù)流量?
          • canary和生產(chǎn)環(huán)境的服務(wù)端口是一樣的嗎?
          • 生產(chǎn)環(huán)境的部署是一步到位還是循序漸進(jìn)的?
          • 對(duì)于緊急情況,是否存在直接跳過(guò) staging 和 canary 階段的情況?

          服務(wù)依賴

          • 微服務(wù)的依賴項(xiàng)都有哪些?
          • 微服務(wù)的客戶端都有哪些?
          • 微服務(wù)如何緩解依賴失效所帶來(lái)的影響?
          • 對(duì)于每個(gè)依賴項(xiàng),是否都有備份、替代服務(wù)、回退方案或防御性緩存?

          路由和服務(wù)發(fā)現(xiàn)

          • 微服務(wù)的健康檢測(cè)可靠嗎?
          • 健康檢測(cè)是否準(zhǔn)確地反映微服務(wù)的健康狀態(tài)?
          • 健康檢測(cè)是否運(yùn)行在獨(dú)立的通道上?
          • 是否使用了回路斷路器來(lái)防止不健康的微服務(wù)發(fā)出請(qǐng)求?
          • 是否使用了回路斷路器來(lái)防止生產(chǎn)環(huán)境的業(yè)務(wù)流量被發(fā)送到不健康的 主機(jī)或服務(wù)上?

          服務(wù)和端點(diǎn)的解除

          • 是否有解除微服務(wù)的相關(guān)流程?
          • 是否有解除微服務(wù) API 端點(diǎn)的相關(guān)流程?

          伸縮性和高性能

          增長(zhǎng)規(guī)模

          • 微服務(wù)的質(zhì)的增長(zhǎng)規(guī)模是怎樣的?
          • 微服務(wù)的量的增長(zhǎng)規(guī)模是怎樣的?

          資源的有效利用

          • 微服務(wù)是運(yùn)行在專門(mén)的硬件上還是共享的硬件上?
          • 是否使用了資源隔離技術(shù)?

          資源感知

          • 微服務(wù)的資源需求是怎樣的( CPU、內(nèi)存,等)?
          • 每個(gè)微服務(wù)實(shí)例能夠處理多少流量?
          • 每個(gè)微服務(wù)實(shí)例需要多少 CPU?
          • 每個(gè)微服務(wù)實(shí)例需要多少內(nèi)存?
          • 微服務(wù)還需要其他的資源嗎?
          • 微服務(wù)的資源瓶頸在哪里?
          • 微服務(wù)是否需要被橫向或縱向擴(kuò)展,或者兩者兼顧?

          容量規(guī)劃

          • 容量規(guī)劃是否基于調(diào)度進(jìn)行?
          • 新硬件多久能夠到位?
          • 申請(qǐng)硬件的頻率是怎么樣的?
          • 是否根據(jù)優(yōu)先級(jí)為微服務(wù)分配硬件?
          • 容量規(guī)劃是自動(dòng)化還是手工操作的?

          依賴項(xiàng)的伸縮

          • 微服務(wù)的依賴項(xiàng)有哪些?
          • 這些依賴項(xiàng)是否具備了伸縮性和高性能?
          • 依賴項(xiàng)能否隨著微服務(wù)進(jìn)行伸縮?
          • 依賴項(xiàng)的所有者是否做好隨微服務(wù)進(jìn)行伸縮的準(zhǔn)備?

          流量管理

          • 是否很好地了解了微服務(wù)的流量模式?
          • 是否根據(jù)流量模式來(lái)安排服務(wù)的變更?
          • 流量模式的急劇變化(特別是流量爆發(fā))是否被小心地處理了?
          • 在服務(wù)失效以后,流量是否能夠被恰當(dāng)?shù)?strong style="line-height: 1.75em;color: rgb(74, 74, 74);">重新路由到其他數(shù)據(jù)中心?

          任務(wù)處理

          • 微服務(wù)所使用的編程語(yǔ)言是否具備伸縮性和高性能?
          • 微服務(wù)在處理請(qǐng)求時(shí)是否存在伸縮性和性能方面的限制?
          • 微服務(wù)在處理任務(wù)時(shí)是否存在伸縮性和性能方面的限制?
          • 微服務(wù)團(tuán)隊(duì)的開(kāi)發(fā)人員是否了解他們的服務(wù)是如何處理任務(wù)的,處理任務(wù)的效率是怎樣的,以及當(dāng)任務(wù)和請(qǐng)求數(shù)量增加時(shí)他們的服務(wù)將會(huì)如何應(yīng)對(duì)?

          可伸縮的數(shù)據(jù)存儲(chǔ)

          • 微服務(wù)是否以可伸縮和高性能的方式處理數(shù)據(jù)?
          • 微服務(wù)需要存儲(chǔ)什么類型的數(shù)據(jù)?
          • 微服務(wù)的數(shù)據(jù)需要怎樣的 schema?
          • 每秒需要處理多少個(gè)事務(wù)?
          • 微服務(wù)需要更高的讀寫(xiě)性能嗎?
          • 微服務(wù)是讀密集、寫(xiě)密集還是兩者兼顧?
          • 微服務(wù)的數(shù)據(jù)庫(kù)可以橫向或縱向擴(kuò)展嗎?它是可復(fù)制或者可分區(qū)的嗎?
          • 微服務(wù)使用的是專門(mén)的還是共 享 的數(shù)據(jù)庫(kù)? 微服務(wù)是如何存儲(chǔ)和處理測(cè)試數(shù)據(jù)的?

          容錯(cuò)和災(zāi)備

          避免故障點(diǎn)

          • 是否存在單點(diǎn)故障?
          • 是否存在多點(diǎn)故障?
          • 故障點(diǎn)是否能夠被移除,或者需要對(duì)它們進(jìn)行緩解嗎?

          故障場(chǎng)景

          • 是否所有可能的故障場(chǎng)景都已被識(shí)別出來(lái)?
          • 有哪些橫跨整個(gè)生態(tài)系統(tǒng)的常見(jiàn)故障?
          • 硬件層有哪些故障會(huì)影響到這個(gè)微服務(wù)?
          • 通信層和應(yīng)用平臺(tái)層有哪些故障會(huì)影響到這個(gè)微服務(wù)?
          • 哪些依賴項(xiàng)故障會(huì)影響到這個(gè)微服務(wù)?
          • 哪些內(nèi)部故障會(huì)拖垮這個(gè)微服務(wù)?

          彈性測(cè)試

          • 這個(gè)微服務(wù)是否通過(guò)了適當(dāng)?shù)?lint 測(cè)試、單元測(cè)試、集成測(cè)試和端到端的測(cè)試?
          • 這個(gè)微服務(wù)是否經(jīng)過(guò)合格的負(fù)載測(cè)試?
          • 是否通過(guò)混沌測(cè)試對(duì)所有可能的故障場(chǎng)景進(jìn)行了測(cè)試?

          故障檢測(cè)和修復(fù)

          • 在組織里是否有標(biāo)準(zhǔn)化的事故處理流程?
          • 這個(gè)微服務(wù)的故障是如何影響業(yè)務(wù)的?
          • 是否對(duì)故障進(jìn)行了清晰的分級(jí)?
          • 是否有清晰的緩解策略?
          • 當(dāng)發(fā)生事故時(shí),團(tuán)隊(duì)是否遵循事故處理的五個(gè)步驟?

          監(jiān)控

          關(guān)鍵性的度量指標(biāo)

          • 這個(gè)微服務(wù)有哪些關(guān)鍵性的度量指標(biāo)?
          • 有哪些主機(jī)級(jí)別和基礎(chǔ)設(shè)施級(jí)別的度量指標(biāo)?
          • 有哪些微服務(wù)級(jí)別的度量指標(biāo)?
          • 這些關(guān)鍵性度量指標(biāo)都被監(jiān)控起來(lái)了嗎?

          日志

          • 這個(gè)微服務(wù)需要把哪些信息記錄到日志里?
          • 這個(gè)微服務(wù)是否記錄了重要的請(qǐng)求消息?
          • 日志是否準(zhǔn)確地反映了微服務(wù)在各個(gè)時(shí)間點(diǎn)的狀態(tài)?
          • 這個(gè)日志方案是否具有伸縮性和高性價(jià)比?

          儀表盤(pán)

          • 這個(gè)微服務(wù)是否有儀表盤(pán)?
          • 儀表盤(pán)是否簡(jiǎn)單易懂?是否所有的關(guān)鍵性度量指標(biāo)都展示在了儀表盤(pán)上?
          • 是否能夠從儀表盤(pán)上看出這個(gè)微服務(wù)是否運(yùn)行正常?

          告警

          • 是否每個(gè)度量指標(biāo)都設(shè)有告警?
          • 是否所有告警都設(shè)置了合適的閾值?
          • 告警閾值設(shè)置是否恰當(dāng),以便在發(fā)生中斷之前觸發(fā)告警?
          • 告警是否具有可操作性?
          • 運(yùn)行手冊(cè)里是否包含了用于診斷、緩解和解決問(wèn)題的排查步驟?

          輪班待命

          • 是否有 一個(gè)專門(mén)的輪班待命機(jī)制用于微服務(wù)的監(jiān)控?
          • 每次待命排班是否有至少兩個(gè)開(kāi)發(fā)人員參與?
          • 這個(gè)待命流程是否在整個(gè)工程組織內(nèi)進(jìn)行標(biāo)準(zhǔn)化?

          文檔化和理解

          微服務(wù)文檔

          • 微服務(wù)的文檔是否被集中存放在一個(gè)公開(kāi)的、人們?nèi)菀自L問(wèn)到的地方?
          • 文檔是否方便搜索?
          • 微服務(wù)發(fā)生重要變更時(shí),文檔是否也得到了相應(yīng)的更新?
          • 文檔是否包含了微服務(wù)的描述?
          • 文檔是否包含了架構(gòu)圖?
          • 文檔是否包含了待命信息?
          • 文檔是否包含了重要信息的鏈接?
          • 文檔是否包含了開(kāi)發(fā)上手指南?
          • 文檔是否包含了微服務(wù)請(qǐng)求消息流、端點(diǎn)和依賴項(xiàng)的信息?
          • 文檔是否包含了運(yùn)行手冊(cè)?
          • 文檔是否包含了問(wèn)答章節(jié)?

          微服務(wù)理解

          • 團(tuán)隊(duì)里的每個(gè)開(kāi)發(fā)人員是否都能回答與他們的微服務(wù)的生產(chǎn)就緒相關(guān)的問(wèn)題?
          • 微服務(wù)是否遵循了 一 系列原則和標(biāo)準(zhǔn)?
          • 對(duì)于新的微服務(wù),是否有RFC 流程?
          • 已有的微服務(wù)是否經(jīng)常得到評(píng)審和審計(jì)?
          • 是否每個(gè)微服務(wù)團(tuán)隊(duì)都舉行架構(gòu)評(píng)審?
          • 是否有生產(chǎn)就緒的審計(jì)流程?
          • 是否有生產(chǎn)就緒路線圖用于把微服務(wù)帶向生產(chǎn)就緒的狀態(tài)?
          • 生產(chǎn)就緒標(biāo)準(zhǔn)是否推動(dòng)了組織的 OKR? 生產(chǎn)就緒流程是自動(dòng)化的嗎?




          往期推薦


          我是 polarisxu,北大碩士畢業(yè),曾在 360 等知名互聯(lián)網(wǎng)公司工作,10多年技術(shù)研發(fā)與架構(gòu)經(jīng)驗(yàn)!2012 年接觸 Go 語(yǔ)言并創(chuàng)建了 Go 語(yǔ)言中文網(wǎng)!著有《Go語(yǔ)言編程之旅》、開(kāi)源圖書(shū)《Go語(yǔ)言標(biāo)準(zhǔn)庫(kù)》等。


          堅(jiān)持輸出技術(shù)(包括 Go、Rust 等技術(shù))、職場(chǎng)心得和創(chuàng)業(yè)感悟!歡迎關(guān)注「polarisxu」一起成長(zhǎng)!也歡迎加我微信好友交流:gopherstudio

          瀏覽 34
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  精品国产一区二区三区麻豆传媒 | 三级成人网站在线观看 | 天天天天天天干 | 天天噜天天操 | 午夜性爱免费视频 |