昨天遇到一個 cannot assign requested address 的問題,這個問題主要的意思是主機端找不到可用的 port 來發起請求, 例如: TCP 連線遇到大量的 TIME_WAIT, 昨天就是這個問題
因為使用的 golang request 套件是使用 golang 的 http client, 但沒有指定 MaxIdleConns 值, 造成大量的 TIME_WAIT 現象
最後設定成這樣來解決
_httpClient = &http.Client{
Transport: &http.Transport{
MaxIdleConnsPerHost: 100,
MaxIdleConns: 100,
IdleConnTimeout: 90 * time.Second,
TLSClientConfig: &tls.Config{
InsecureSkipVerify: false,