Networking
當 ‘dig’ 返回單個 A 記錄時,IP 地址在呼叫之間發生變化。這是什麼徵兆?
在我的內部工作網路中,每當我
dig
針對特定主機名啟動時,都會得到類似於以下的結果:;; ANSWER SECTION: some.internal.host.com. 10 IN A 10.210.54.121
如果我繼續發送相同的
dig some.internal.host.com
命令,響應總是有一個 A 記錄,但 IP 地址在呼叫之間發生變化。我認為這是某種形式的負載平衡,但是對於好奇的人來說,池中 IP 地址的完整列表是隱藏的。
這裡使用什麼技術來實現所描述的結果?
輸出中的“10”是TTL。它很短,只有 10 秒,因此可以猜測這是動態變化的。這就是為什麼它不應該在 DNS 遞歸伺服器的記憶體中停留超過 10 秒。
它是如何完成的?這取決於遠端 DNS 伺服器及其實現方式。隱藏節點動態(取消)註冊到 DNS 或 DNS 可能正在“檢測”活動的後端主機本身。
這可能是一個循環的方法。
通常,您提供所有有效地址,客戶端選擇一個進行連接。
如果您的客戶實施不當,您可能需要通過僅提供一個值來強制他們選擇。
另一種選擇是根據不同伺服器的繁忙程度進行負載平衡。然後將 DNS 用作廉價的負載平衡器。與一個或多個真實負載平衡器相比便宜,例如,多個 IP 地址將所有請求代理到伺服器。