<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Traffic on Tarragon</title><link>https://tarrragon.github.io/blog/tags/traffic/</link><description>Recent content in Traffic on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Mon, 11 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/traffic/index.xml" rel="self" type="application/rss+xml"/><item><title>5.7 Traffic、Config 與 Control Plane Boundary</title><link>https://tarrragon.github.io/blog/backend/05-deployment-platform/traffic-config-control-plane-boundary/</link><pubDate>Mon, 11 May 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/backend/05-deployment-platform/traffic-config-control-plane-boundary/</guid><description>&lt;p>Traffic、config 與 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/control-plane/" data-link-title="Control Plane" data-link-desc="負責下發策略、配置與路由決策的控制層">control plane&lt;/a> boundary 的核心責任是把平台切換中的資料面與控制面分開。進入 Kubernetes、ELB、Envoy、Consul 或 Terraform 前，讀者需要先知道流量、設定、secret、service discovery 與管理面各自有不同風險與回退方式。&lt;/p>
&lt;h2 id="traffic-boundary">Traffic Boundary&lt;/h2>
&lt;p>Traffic boundary 的責任是決定 request 如何進入服務、如何分流、如何回退。它包含 load balancer、routing rule、health check、sticky session、timeout 與 drain。&lt;/p>
&lt;p>流量切換要能回答三個問題：哪一批 request 會到新版本、失敗時如何停止擴批、舊版本是否仍能承接回退流量。這三個答案明確後，&lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/canary-release/" data-link-title="Canary Release" data-link-desc="分批把流量導向新版本、用 stop condition 控制 blast radius 的部署策略">canary&lt;/a> 才能從比例設定變成可回退策略。&lt;/p>
&lt;p>Traffic boundary 的判讀重點是 customer impact 如何被分批限制。小比例 canary、區域切流、tenant 切流與 route rule 都是不同切換單位；切換單位越清楚，&lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/rollback-window/" data-link-title="Rollback Window" data-link-desc="說明變更進入 production 後還能用哪種方式回退或改路線的時間與條件">rollback window&lt;/a> 越容易被驗證。&lt;/p>
&lt;h3 id="切換單位的選擇">切換單位的選擇&lt;/h3>
&lt;p>切換單位決定故障的 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/blast-radius/" data-link-title="Blast Radius" data-link-desc="說明事故影響面如何估算與隔離">blast radius&lt;/a> 與回退的精準度。常見切換單位各有不同操作特性：&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>切換單位&lt;/th>
 &lt;th>blast radius&lt;/th>
 &lt;th>回退精準度&lt;/th>
 &lt;th>操作複雜度&lt;/th>
 &lt;th>適用場景&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>比例（%）&lt;/td>
 &lt;td>按流量比例&lt;/td>
 &lt;td>粗（全域）&lt;/td>
 &lt;td>低&lt;/td>
 &lt;td>通用 canary&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>區域 / AZ&lt;/td>
 &lt;td>限定地理範圍&lt;/td>
 &lt;td>中&lt;/td>
 &lt;td>中&lt;/td>
 &lt;td>跨區部署的服務&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>租戶 / 組織&lt;/td>
 &lt;td>限定特定客戶&lt;/td>
 &lt;td>高&lt;/td>
 &lt;td>高&lt;/td>
 &lt;td>多租戶 SaaS&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>路由規則&lt;/td>
 &lt;td>限定特定路徑&lt;/td>
 &lt;td>高&lt;/td>
 &lt;td>高&lt;/td>
 &lt;td>API 版本切換、功能漸進上線&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>比例切換最簡單但 blast radius 不可控——5% 的流量中可能包含大客戶的關鍵路徑。租戶切換精準度最高但操作複雜度也最高——需要在 routing 層維護租戶到版本的映射。穩定做法是從比例切換開始，遇到需要精準控制 impact 時再升級到租戶或路由規則切換。&lt;/p>
&lt;h2 id="config-boundary">Config Boundary&lt;/h2>
&lt;p>設定如何下發、如何生效、如何回退——Config boundary 回答這三個問題。&lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/config-rollout/" data-link-title="Config Rollout" data-link-desc="說明設定如何安全下發到正在運作的服務實例">config rollout&lt;/a> 和應用版本不一定同步，因此要保留相容窗口。&lt;/p>
&lt;p>高風險設定包含 payment provider endpoint、feature flag、rate limit、routing rule、timeout 與 fallback policy。這些設定變更可能不需要新 image，卻能改變 production 行為，因此要進 release gate。&lt;/p>
&lt;h3 id="config-變更的風險分級">Config 變更的風險分級&lt;/h3>
&lt;p>設定變更的風險不一致——有些設定改了只影響 log level，有些設定改了直接影響付款路徑。分級後才能對不同風險的設定套用對應的 review 與 rollout 強度。&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>風險等級&lt;/th>
 &lt;th>設定類型&lt;/th>
 &lt;th>review 與 rollout 要求&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>高&lt;/td>
 &lt;td>payment endpoint、auth provider URL、encryption key&lt;/td>
 &lt;td>等同 code review + staged rollout + rollback 驗證&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>中&lt;/td>
 &lt;td>rate limit、timeout、feature flag、CORS 設定&lt;/td>
 &lt;td>變更 review + 觀測窗口&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>低&lt;/td>
 &lt;td>log level、debug flag、非關鍵 UI 文案&lt;/td>
 &lt;td>變更紀錄即可&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>風險分級的判讀依據是「這個設定改錯時、使用者會看到什麼」。改錯 payment endpoint 會讓付款打到錯誤目標；改錯 rate limit 可能讓合法流量被擋；改錯 log level 最多是 log 太吵或太安靜。設定的注入方式與版本追蹤見 &lt;a href="https://tarrragon.github.io/blog/backend/05-deployment-platform/container-runtime/" data-link-title="5.1 container 與 runtime" data-link-desc="整理 image、resource limit 與啟動行為">5.1 配置注入方式與取捨&lt;/a>。&lt;/p></description><content:encoded><![CDATA[<p>Traffic、config 與 <a href="/blog/backend/knowledge-cards/control-plane/" data-link-title="Control Plane" data-link-desc="負責下發策略、配置與路由決策的控制層">control plane</a> boundary 的核心責任是把平台切換中的資料面與控制面分開。進入 Kubernetes、ELB、Envoy、Consul 或 Terraform 前，讀者需要先知道流量、設定、secret、service discovery 與管理面各自有不同風險與回退方式。</p>
<h2 id="traffic-boundary">Traffic Boundary</h2>
<p>Traffic boundary 的責任是決定 request 如何進入服務、如何分流、如何回退。它包含 load balancer、routing rule、health check、sticky session、timeout 與 drain。</p>
<p>流量切換要能回答三個問題：哪一批 request 會到新版本、失敗時如何停止擴批、舊版本是否仍能承接回退流量。這三個答案明確後，<a href="/blog/backend/knowledge-cards/canary-release/" data-link-title="Canary Release" data-link-desc="分批把流量導向新版本、用 stop condition 控制 blast radius 的部署策略">canary</a> 才能從比例設定變成可回退策略。</p>
<p>Traffic boundary 的判讀重點是 customer impact 如何被分批限制。小比例 canary、區域切流、tenant 切流與 route rule 都是不同切換單位；切換單位越清楚，<a href="/blog/backend/knowledge-cards/rollback-window/" data-link-title="Rollback Window" data-link-desc="說明變更進入 production 後還能用哪種方式回退或改路線的時間與條件">rollback window</a> 越容易被驗證。</p>
<h3 id="切換單位的選擇">切換單位的選擇</h3>
<p>切換單位決定故障的 <a href="/blog/backend/knowledge-cards/blast-radius/" data-link-title="Blast Radius" data-link-desc="說明事故影響面如何估算與隔離">blast radius</a> 與回退的精準度。常見切換單位各有不同操作特性：</p>
<table>
  <thead>
      <tr>
          <th>切換單位</th>
          <th>blast radius</th>
          <th>回退精準度</th>
          <th>操作複雜度</th>
          <th>適用場景</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>比例（%）</td>
          <td>按流量比例</td>
          <td>粗（全域）</td>
          <td>低</td>
          <td>通用 canary</td>
      </tr>
      <tr>
          <td>區域 / AZ</td>
          <td>限定地理範圍</td>
          <td>中</td>
          <td>中</td>
          <td>跨區部署的服務</td>
      </tr>
      <tr>
          <td>租戶 / 組織</td>
          <td>限定特定客戶</td>
          <td>高</td>
          <td>高</td>
          <td>多租戶 SaaS</td>
      </tr>
      <tr>
          <td>路由規則</td>
          <td>限定特定路徑</td>
          <td>高</td>
          <td>高</td>
          <td>API 版本切換、功能漸進上線</td>
      </tr>
  </tbody>
</table>
<p>比例切換最簡單但 blast radius 不可控——5% 的流量中可能包含大客戶的關鍵路徑。租戶切換精準度最高但操作複雜度也最高——需要在 routing 層維護租戶到版本的映射。穩定做法是從比例切換開始，遇到需要精準控制 impact 時再升級到租戶或路由規則切換。</p>
<h2 id="config-boundary">Config Boundary</h2>
<p>設定如何下發、如何生效、如何回退——Config boundary 回答這三個問題。<a href="/blog/backend/knowledge-cards/config-rollout/" data-link-title="Config Rollout" data-link-desc="說明設定如何安全下發到正在運作的服務實例">config rollout</a> 和應用版本不一定同步，因此要保留相容窗口。</p>
<p>高風險設定包含 payment provider endpoint、feature flag、rate limit、routing rule、timeout 與 fallback policy。這些設定變更可能不需要新 image，卻能改變 production 行為，因此要進 release gate。</p>
<h3 id="config-變更的風險分級">Config 變更的風險分級</h3>
<p>設定變更的風險不一致——有些設定改了只影響 log level，有些設定改了直接影響付款路徑。分級後才能對不同風險的設定套用對應的 review 與 rollout 強度。</p>
<table>
  <thead>
      <tr>
          <th>風險等級</th>
          <th>設定類型</th>
          <th>review 與 rollout 要求</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>高</td>
          <td>payment endpoint、auth provider URL、encryption key</td>
          <td>等同 code review + staged rollout + rollback 驗證</td>
      </tr>
      <tr>
          <td>中</td>
          <td>rate limit、timeout、feature flag、CORS 設定</td>
          <td>變更 review + 觀測窗口</td>
      </tr>
      <tr>
          <td>低</td>
          <td>log level、debug flag、非關鍵 UI 文案</td>
          <td>變更紀錄即可</td>
      </tr>
  </tbody>
</table>
<p>風險分級的判讀依據是「這個設定改錯時、使用者會看到什麼」。改錯 payment endpoint 會讓付款打到錯誤目標；改錯 rate limit 可能讓合法流量被擋；改錯 log level 最多是 log 太吵或太安靜。設定的注入方式與版本追蹤見 <a href="/blog/backend/05-deployment-platform/container-runtime/" data-link-title="5.1 container 與 runtime" data-link-desc="整理 image、resource limit 與啟動行為">5.1 配置注入方式與取捨</a>。</p>
<h2 id="secret-boundary">Secret Boundary</h2>
<p>Credential、token、certificate 與 machine identity 需要可輪替、可稽核、可回退——Secret boundary 管理這組生命週期。Secret 變更同時影響平台、應用與外部依賴，應使用比普通 config 更嚴格的 evidence 與 rollback window。</p>
<p>Secret rollout 要回答版本相容、雙軌驗證、舊 secret 撤除時間與失敗回退。這裡要接到 <a href="/blog/backend/07-security-data-protection/credential-rotation-scoped-evidence/" data-link-title="7.27 Credential Rotation with Scoped Evidence 實作示範" data-link-desc="以 webhook/API credential 輪替示範 scope map、證據欄位與回退窗口如何一起設計。">7.27 Credential Rotation with Scoped Evidence</a>。</p>
<h3 id="secret-rollout-的雙軌驗證">Secret Rollout 的雙軌驗證</h3>
<p>Secret 輪替跟應用版本部署有本質差異：rollback secret 不是「換回舊版本」那麼單純——舊 secret 可能已經被撤銷、過期、或在外部系統中標記為失效。Secret rollout 的安全做法是雙軌驗證：</p>
<ol>
<li><strong>新 secret 先加入、舊 secret 暫不移除</strong>：應用先驗證能用新 secret 正常運作。</li>
<li><strong>觀測窗口確認新 secret 穩定</strong>：auth 成功率、API 呼叫成功率、certificate handshake 成功率都在 baseline 內。</li>
<li><strong>確認後移除舊 secret</strong>：舊 secret 的撤除要有明確時間點，而且要在撤除前確認沒有服務還在用舊 secret。</li>
</ol>
<p>這個流程的風險點是第 3 步：撤除舊 secret 後發現某個遺漏的服務或 job 還在用、導致該服務認證失敗。盤點覆蓋率的做法是在觀測窗口內搜尋 audit log，確認所有 secret 使用都已切到新版本。</p>
<h2 id="service-discovery-boundary">Service Discovery Boundary</h2>
<p>Service discovery 的責任是維持可用 endpoint 集合。它回答服務應該連到哪些實例；業務設定與版本正確性則分別交給 config boundary 與 rollout gate。Discovery 的 DNS / registry 運作模式與註冊時序見 <a href="/blog/backend/05-deployment-platform/service-discovery/" data-link-title="5.4 service discovery" data-link-desc="整理 endpoint discovery 與 DNS">5.4 Service Discovery</a>。</p>
<p>Discovery 失準常見於 rollout、擴縮容與區域故障。判讀時要拆成註冊時序、健康判斷、DNS/registry 新鮮度與 fallback 存活時間。</p>
<h2 id="control-plane-boundary">Control Plane Boundary</h2>
<p>設定、策略、部署與路由規則的管理落在 <a href="/blog/backend/knowledge-cards/management-plane/" data-link-title="Management Plane" data-link-desc="說明管理平面如何與業務流量平面分離，避免高權限入口擴散">management plane</a>。Control plane 變更會影響大量服務，因此需要更嚴格的 evidence、gate 與 decision log。</p>
<p>Control plane 事故常見於規則推送、routing 誤配、secret 下發失敗與 registry 異常。這類事故要先保留 decision timeline，避免事後只看到資料面錯誤率。</p>
<h3 id="control-plane-變更的-blast-radius-控制">Control Plane 變更的 Blast Radius 控制</h3>
<p>Control plane 變更的 blast radius 跟 data plane 變更不同——一條 routing rule 推送錯誤可能同時影響所有服務的流量。控制 blast radius 的做法：</p>
<ol>
<li><strong>分批推送</strong>：規則變更先推到 staging / canary namespace、驗證後再推到 production。推送結果的觀測應包含受影響服務的 error rate 與 latency。</li>
<li><strong>approval gate</strong>：高影響變更（network policy、admission webhook、RBAC binding）需要多人 review。變更的 blast radius 估算（影響多少 namespace / service）應在 review 時可見。</li>
<li><strong>decision log</strong>：所有 control plane 變更記入 <a href="/blog/backend/08-incident-response/control-plane-decision-log-write-back/" data-link-title="8.23 Control Plane Decision Log and Write-back 實作示範" data-link-desc="以 rule/config rollout 事故示範 decision log 與 write-back 如何形成可回放閉環。">8.23 Control Plane Decision Log</a>，包含時間、操作者、受影響範圍、預期效果與回退條件。事故時對照 decision log 跟 data plane 症狀的時間序列，可以快速判斷因果。</li>
</ol>
<h2 id="平台元件升級的可重播流程">平台元件升級的可重播流程</h2>
<p>平台基礎元件升級是 control plane 風險最高的場景。Service mesh、ingress controller、CNI、API server 這類元件影響面廣、單次升級可能形成全域風險放大器。</p>
<p>對應 <a href="/blog/backend/05-deployment-platform/cases/airbnb-istio-upgrade-governance/" data-link-title="5.C7 Airbnb：Istio 升級治理" data-link-desc="service mesh 升級在大規模環境下如何保持高可用。">5.C7 Airbnb Istio 升級治理</a>：揭露 1 個判讀（基礎平台元件升級缺乏分批治理會形成全域風險放大器）+ 3 條策略（分批升級 + 回退窗口、升級驗證標準固定化、升級事件接入 incident command 節奏）。以下基於通用工程知識展開、「升級事件進 timeline」是從 case「接入 incident command」策略進一步推到具體操作。</p>
<p>可重複套用的升級流程：</p>
<ol>
<li><strong>分批升級單位</strong>：先在開發 / staging 叢集驗證、再選低流量 production 叢集 / namespace 作為先導、之後分批擴大。分批單位可以是叢集、namespace、region、tenant，依風險面選擇。</li>
<li><strong>回退窗口跟驗證標準同時設</strong>：每批升級前定義「驗證通過」的具體訊號（SLI 維持、特定 metric 不偏移、無新告警），跟「回退窗口」（多久內可以回退）。沒有驗證標準的分批等於連續高風險動作。</li>
<li><strong>升級流程紀錄到 incident-style 文件</strong>：升級期間的決策、觀察、停止點都用 incident decision log 格式紀錄。下次升級可重播、不依賴執行者個人經驗。</li>
<li><strong>升級事件進 timeline</strong>：升級本身產生的短暫錯誤、reconnect、配置同步延遲，要在事故 timeline 上可見、避免被誤判成事故。</li>
</ol>
<p>平台元件升級的核心治理價值是把「一次性高風險作業」變成「可重複的低風險作業」。第一次升級用流程，第二次升級用同樣流程，第三次升級流程已經穩定到可以委派、不再需要資深工程師親自執行。</p>
<h2 id="managed-平台跟團隊職責邊界">Managed 平台跟團隊職責邊界</h2>
<p>平台託管化（self-managed → managed）改變維運責任跟團隊精力的分配。本段聚焦團隊職責邊界；流量跟依賴的分段切換流程見 <a href="/blog/backend/05-deployment-platform/kubernetes-deployment/#%e5%88%86%e9%9a%8e%e6%ae%b5%e5%b9%b3%e5%8f%b0%e9%81%b7%e7%a7%bb" data-link-title="5.2 Kubernetes 部署策略" data-link-desc="整理 deployment、probe 與 rolling update">5.2 分階段平台遷移</a>、紅隊視角的攻擊面變動見 <a href="/blog/backend/05-deployment-platform/attacker-view-platform-entry-risks/#%e5%b9%b3%e5%8f%b0%e9%81%b7%e7%a7%bb%e6%9c%9f%e7%9a%84%e6%94%bb%e6%93%8a%e9%9d%a2%e8%ae%8a%e5%8b%95" data-link-title="5.5 平台與入口威脅建模（Threat Modeling）" data-link-desc="以概念層判讀部署平台弱點，聚焦入口、生命週期、設定與交付節奏">5.5 平台遷移期的攻擊面變動</a>、三者組合才完整。</p>
<p>Platform team 從「維持 Kubernetes 跑起來」轉向「定義 release flow、observability convention、cost governance」。managed 平台採用後第一個治理動作是顯式重新定義職責邊界、讓 platform team 從 cluster ops 轉到 release flow / observability convention / cost governance。重新定義缺位、組織轉型紅利容易被誤判為純技術升級。</p>
<p>對應 <a href="/blog/backend/05-deployment-platform/cases/miro-managed-eks-migration/" data-link-title="5.C5 Miro：Managed EKS 遷移" data-link-desc="從自維運平台轉向 managed EKS 的組織與技術協同案例。">5.C5 Miro Managed EKS 遷移</a>：揭露 1 個判讀（平台託管化的價值在讓團隊把心力從底層維護轉到交付效率與可靠性策略）+ 3 條策略（先定義遷移後的平台責任邊界、自動化流程取代手動平台操作、incident 跟 release policy 接回平台治理）。對應 <a href="/blog/backend/09-performance-capacity/cases/maersk-bosch-azure-aks/" data-link-title="9.C33 Maersk &#43; Bosch：傳統產業在 Azure AKS 上的微服務治理" data-link-desc="全球海運 Maersk 跟 Bosch 智慧建築把 AKS 當微服務治理基礎、釋放工程資源做業務功能">9.C33 Maersk + Bosch Azure AKS</a>：揭露 Maersk 工程訴求引語「focus on things that makes the most business impact」、傳統產業 K8s 動機是治理一致性 + 釋放工程資源到業務功能（後者屬作者判讀）。以下基於通用工程知識展開。</p>
<p>managed 平台採用後的職責邊界重訂可以分四層：</p>
<ol>
<li><strong>Cluster 層</strong>：control plane 上游接管（API server、etcd、scheduler、controller-manager）、platform team 從 cluster ops 退到 cluster policy。CIS benchmark、network policy、admission controller 配置仍是 platform 責任。</li>
<li><strong>Cluster-internal 層</strong>：CNI、ingress controller、service mesh、cluster DNS、storage CSI 通常仍由 platform team own。這層是 managed 服務沒覆蓋的 grey zone、需要明確 ownership。</li>
<li><strong>Application 層</strong>：deployment、service、HPA、PDB 由 service team own、platform 提供 convention 跟 review process。</li>
<li><strong>跨層議題</strong>：cost governance、observability convention、release flow、incident response 是 platform / service / SRE / finance 跨層協作、需要 operating model 明確化。</li>
</ol>
<p>managed 採用後 day-1 治理項目有兩件事：明確界定 grey zone ownership（避免「以為 managed 服務什麼都管了」的心智模型）、把 platform team 心力從 cluster ops 轉到組織轉型紅利（release flow、observability convention、cost governance）。把重新定義職責當 day-2 議題、會錯失組織轉型紅利。</p>
<h2 id="選型前判準">選型前判準</h2>
<p>平台選型前要先回答：</p>
<ol>
<li>哪些變更屬於 traffic，哪些屬於 config，哪些屬於 secret。</li>
<li>每種變更是否能分批、暫停與回退。</li>
<li>Discovery 失準時是否有可控 fallback。</li>
<li>Control plane 變更是否有 audit、owner 與 <a href="/blog/backend/knowledge-cards/blast-radius/" data-link-title="Blast Radius" data-link-desc="說明事故影響面如何估算與隔離">blast radius</a> 限制。</li>
<li>基礎元件升級是否有可重播流程跟回退窗口。</li>
<li>Managed 平台採用後團隊職責邊界是否重新定義。</li>
</ol>
<p>這些答案決定後續要比較 load balancer、service mesh、secret manager、service registry 或 deployment controller 的能力。</p>
<h2 id="實體服務討論承接點">實體服務討論承接點</h2>
<p>實體平台文章要承接本篇的 traffic、config 與 control plane boundary。ELB、nginx、Envoy、service mesh、Consul、Kubernetes controller、secret manager 或 Terraform 的比較，要先分清它們是在資料面接流量、在控制面改規則，還是在設定面下發狀態。</p>
<p>若主問題是流量切換，後續文章要比較 routing rule、weight、health check、drain 與 rollback。若主問題是設定與 secret，後續文章要比較 rollout、audit、rotation 與相容窗口。若主問題是 control plane 風險，後續文章要比較 blast radius、approval、observability 與 incident decision log。</p>
<h2 id="下一步路由">下一步路由</h2>
<p>要把流量邊界接到實際 LB 合約，接著讀 <a href="/blog/backend/05-deployment-platform/load-balancer-contract/" data-link-title="5.3 load balancer 合約" data-link-desc="整理 idle timeout、draining 與 health check">5.3 load balancer 合約</a>。要把 control plane 決策寫入事故流程，接著讀 <a href="/blog/backend/08-incident-response/control-plane-decision-log-write-back/" data-link-title="8.23 Control Plane Decision Log and Write-back 實作示範" data-link-desc="以 rule/config rollout 事故示範 decision log 與 write-back 如何形成可回放閉環。">8.23 Control Plane Decision Log and Write-back</a>。</p>
]]></content:encoded></item></channel></rss>