<?xml version="1.0" encoding="UTF-8" ?><oembed><version>1.0</version><provider_name>Jui-Nan Lin&#039;s Blog</provider_name><provider_url>https://jnlin.org</provider_url><author_name>jnlin</author_name><author_url>https://jnlin.org/author/jnlin/</author_url><title>Unbound 回傳 RR Set 的順序問題</title><html>&lt;a href=&quot;http://unbound.net/&quot;&gt;unbound&lt;/a&gt; 是個輕薄短小好用的 DNS Resolver，也支援 &lt;a href=&quot;http://www.dnssec.net/&quot;&gt;DNSSEC&lt;/a&gt;。

這幾天剛好遇到一個問題：有一組 Cluster 的 Server Loading 分布不均，但一個小時後 Loading 會轉移 Server，原本有 Loading 的變成沒 Loading，原本沒 Loading 的變成有 Loading。
經過檢查之後發現是 Unbound 回傳 Resource Record (RR) 的順序問題。

按照&lt;a href=&quot;http://www.mail-archive.com/unbound-users@unbound.net/msg00545.html&quot;&gt;這篇 Maillist&lt;/a&gt; 的說法，unbound 在回傳結果的時候，會完全按照原本結果的資訊回傳，包含 RR 的順序。所以 RR 的順序會固定一個 TTL (被 unbound cache 住了)，而剛好我們把 TTL 設為一個小時。

除了把 TTL 設短一些外，寫 Client 程式的時候，如果考慮有使用到 DNS Round Robin 來作 Load Balance 的話，最好不要固定使用回傳的第一個 RR 會比較好。</html><type>rich</type></oembed>