<?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>閒置逾時 on Tarragon</title><link>https://tarrragon.github.io/blog/tags/%E9%96%92%E7%BD%AE%E9%80%BE%E6%99%82/</link><description>Recent content in 閒置逾時 on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Fri, 24 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/%E9%96%92%E7%BD%AE%E9%80%BE%E6%99%82/index.xml" rel="self" type="application/rss+xml"/><item><title>Idle Timeout</title><link>https://tarrragon.github.io/blog/backend/knowledge-cards/idle-timeout/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/backend/knowledge-cards/idle-timeout/</guid><description>&lt;p>Idle Timeout 的核心概念是「一段時間沒有活動就關閉連線或回收會話」。它和一般 request timeout 不同，重點是避免空閒連線長時間佔住資源，跟等待單次操作完成的 request timeout 不同。 可先對照 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/impact-scope/" data-link-title="Impact Scope" data-link-desc="說明事故中如何盤點受影響範圍，支持通報、回復與責任判讀">Impact Scope&lt;/a>。&lt;/p>
&lt;h2 id="概念位置">概念位置&lt;/h2>
&lt;p>Idle Timeout 位在 socket、load balancer、proxy、application 與 connection pool 之間。它常用來保護連線資源，避免長時間閒置造成檔案描述符、memory 或 session state 浪費。 可先對照 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/impact-scope/" data-link-title="Impact Scope" data-link-desc="說明事故中如何盤點受影響範圍，支持通報、回復與責任判讀">Impact Scope&lt;/a>。&lt;/p>
&lt;h2 id="可觀察訊號">可觀察訊號&lt;/h2>
&lt;p>系統需要 idle timeout 的訊號是：&lt;/p>
&lt;ul>
&lt;li>長連線長時間沒有資料交換&lt;/li>
&lt;li>空閒連線數量持續累積&lt;/li>
&lt;li>load balancer 或 proxy 需要回收無效連線&lt;/li>
&lt;/ul>
&lt;h2 id="接近真實網路服務的例子">接近真實網路服務的例子&lt;/h2>
&lt;p>WebSocket 連線、HTTP keep-alive、反向代理連線池或 application 內部 socket pool，常會透過 idle timeout 回收不再使用的連線。&lt;/p>
&lt;h2 id="設計責任">設計責任&lt;/h2>
&lt;p>設計時要定義閒置判定條件、關閉前通知、重連策略與是否允許不同層級使用不同 timeout。Idle Timeout 應該和 read/write timeout、request timeout 區分開來，避免把不同問題混在一起。&lt;/p></description><content:encoded><![CDATA[<p>Idle Timeout 的核心概念是「一段時間沒有活動就關閉連線或回收會話」。它和一般 request timeout 不同，重點是避免空閒連線長時間佔住資源，跟等待單次操作完成的 request timeout 不同。 可先對照 <a href="/blog/backend/knowledge-cards/impact-scope/" data-link-title="Impact Scope" data-link-desc="說明事故中如何盤點受影響範圍，支持通報、回復與責任判讀">Impact Scope</a>。</p>
<h2 id="概念位置">概念位置</h2>
<p>Idle Timeout 位在 socket、load balancer、proxy、application 與 connection pool 之間。它常用來保護連線資源，避免長時間閒置造成檔案描述符、memory 或 session state 浪費。 可先對照 <a href="/blog/backend/knowledge-cards/impact-scope/" data-link-title="Impact Scope" data-link-desc="說明事故中如何盤點受影響範圍，支持通報、回復與責任判讀">Impact Scope</a>。</p>
<h2 id="可觀察訊號">可觀察訊號</h2>
<p>系統需要 idle timeout 的訊號是：</p>
<ul>
<li>長連線長時間沒有資料交換</li>
<li>空閒連線數量持續累積</li>
<li>load balancer 或 proxy 需要回收無效連線</li>
</ul>
<h2 id="接近真實網路服務的例子">接近真實網路服務的例子</h2>
<p>WebSocket 連線、HTTP keep-alive、反向代理連線池或 application 內部 socket pool，常會透過 idle timeout 回收不再使用的連線。</p>
<h2 id="設計責任">設計責任</h2>
<p>設計時要定義閒置判定條件、關閉前通知、重連策略與是否允許不同層級使用不同 timeout。Idle Timeout 應該和 read/write timeout、request timeout 區分開來，避免把不同問題混在一起。</p>
]]></content:encoded></item></channel></rss>