天天看點

【API管理 APIM】APIM中對後端API服務的DNS域名緩存問題

問題描述

在使用API Management來進行API管理時,當我們後端的API DNS IP位址發生改變或者是API的域名發生改變後,通過APIM請求通路的還是是舊的域名或者IP位址,這是因APIM中對DNS的緩存導緻問題。

問題分析

APIM本質也是部署在VM中的應用,對DNS的處理完全依照VM的機制,APIM本身并無特殊的緩存機制。如果DNS發生變化,其解析到新的變動取決于TTL的時間。預設情況下,TTL時間為3600,是以當後端API域名變動後,大約在60分鐘左右生效。

解決辦法

因為APIM中使用了HTTP Keep-Alive功能,是以如果APIM中持續通路後端API,之前的通路就會使用在修改DNS前建立的http連接配接,導緻請求還是通路的舊的服務。如是這樣的情況,可以通過停止舊的服務,讓HTTP Keep-alive的功能失效。這個時候請求會重新去解析DNS,得到新的資訊(如IP位址),通路就可以成功了。

TTL介紹連結:https://jaminzhang.github.io/dns/DNS-TTL-Understanding-and-Config/

當在複雜的環境中面臨問題,格物之道需:濁而靜之徐清,安以動之徐生。 雲中,恰是如此!

繼續閱讀