<?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>Rollback Strategy on Tarragon</title><link>https://tarrragon.github.io/blog/tags/rollback-strategy/</link><description>Recent content in Rollback Strategy on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Thu, 23 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/rollback-strategy/index.xml" rel="self" type="application/rss+xml"/><item><title>Rollback Strategy</title><link>https://tarrragon.github.io/blog/backend/knowledge-cards/rollback-strategy/</link><pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/backend/knowledge-cards/rollback-strategy/</guid><description>&lt;p>Rollback strategy 的核心概念是「在事故期間用可驗證條件決定是否回滾」。回滾是根據影響面、資料風險與回復速度做出的風險控制決策，當成預設答案會忽略回滾本身的代價。 可先對照 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/incident-severity/" data-link-title="Incident Severity" data-link-desc="說明事故分級如何把產品影響轉成對應處置節奏">Incident Severity&lt;/a>。&lt;/p>
&lt;h2 id="概念位置">概念位置&lt;/h2>
&lt;p>回滾策略連接 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/incident-severity/" data-link-title="Incident Severity" data-link-desc="說明事故分級如何把產品影響轉成對應處置節奏">incident severity&lt;/a>、&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;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/cutover-switchover/" data-link-title="Cutover / Switchover" data-link-desc="說明遷移期間如何把正式流量切到新路徑">cutover / switchover&lt;/a> 與 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/fallback-plan/" data-link-title="Fallback Plan" data-link-desc="說明變更失敗時如何回到可接受狀態">fallback plan&lt;/a>；是否放行變更則會受 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/release-gate/" data-link-title="Release Gate" data-link-desc="說明變更在正式釋出前如何通過或阻擋">Release Gate&lt;/a> 影響，而實際可行性則應由 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/rollback-rehearsal/" data-link-title="Rollback Rehearsal" data-link-desc="說明如何在正式事故前演練回滾流程">Rollback Rehearsal&lt;/a> 驗證。&lt;/p>
&lt;h2 id="可觀察訊號與例子">可觀察訊號與例子&lt;/h2>
&lt;p>系統需要 rollback strategy 的訊號是新版本上線後出現錯誤率上升。若回滾可在 5 分鐘內顯著降低使用者影響，通常優先回滾，再在低風險環境分析根因。&lt;/p>
&lt;h2 id="設計責任">設計責任&lt;/h2>
&lt;p>回滾策略要定義觸發條件、資料相容性檢查、回滾步驟、停止條件與回滾後驗證。高風險變更應在發版前先演練回滾流程。&lt;/p></description><content:encoded><![CDATA[<p>Rollback strategy 的核心概念是「在事故期間用可驗證條件決定是否回滾」。回滾是根據影響面、資料風險與回復速度做出的風險控制決策，當成預設答案會忽略回滾本身的代價。 可先對照 <a href="/blog/backend/knowledge-cards/incident-severity/" data-link-title="Incident Severity" data-link-desc="說明事故分級如何把產品影響轉成對應處置節奏">Incident Severity</a>。</p>
<h2 id="概念位置">概念位置</h2>
<p>回滾策略連接 <a href="/blog/backend/knowledge-cards/incident-severity/" data-link-title="Incident Severity" data-link-desc="說明事故分級如何把產品影響轉成對應處置節奏">incident severity</a>、<a href="/blog/backend/knowledge-cards/blast-radius/" data-link-title="Blast Radius" data-link-desc="說明事故影響面如何估算與隔離">blast radius</a>、<a href="/blog/backend/knowledge-cards/cutover-switchover/" data-link-title="Cutover / Switchover" data-link-desc="說明遷移期間如何把正式流量切到新路徑">cutover / switchover</a> 與 <a href="/blog/backend/knowledge-cards/fallback-plan/" data-link-title="Fallback Plan" data-link-desc="說明變更失敗時如何回到可接受狀態">fallback plan</a>；是否放行變更則會受 <a href="/blog/backend/knowledge-cards/release-gate/" data-link-title="Release Gate" data-link-desc="說明變更在正式釋出前如何通過或阻擋">Release Gate</a> 影響，而實際可行性則應由 <a href="/blog/backend/knowledge-cards/rollback-rehearsal/" data-link-title="Rollback Rehearsal" data-link-desc="說明如何在正式事故前演練回滾流程">Rollback Rehearsal</a> 驗證。</p>
<h2 id="可觀察訊號與例子">可觀察訊號與例子</h2>
<p>系統需要 rollback strategy 的訊號是新版本上線後出現錯誤率上升。若回滾可在 5 分鐘內顯著降低使用者影響，通常優先回滾，再在低風險環境分析根因。</p>
<h2 id="設計責任">設計責任</h2>
<p>回滾策略要定義觸發條件、資料相容性檢查、回滾步驟、停止條件與回滾後驗證。高風險變更應在發版前先演練回滾流程。</p>
]]></content:encoded></item></channel></rss>