客戶端組態 - AWS SDK for Java 1.

我們宣布了即將推 end-of-support 出的 AWS SDK for Java (v1)。我們建議您移轉至 AWS SDK for Java v2。有關日期,其他詳細信息以及如何遷移的信息,請參閱鏈接的公告。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

客戶端組態

AWS SDK for Java 可讓您變更預設用戶端組態,這在您想要執行下列作業時很有幫助:

  • 透過代理伺服器 Connect 網際網路

  • 變更 HTTP 傳輸設定,例如連線逾時和要求重試

  • 指定 TCP 通訊端緩衝區大小提示

代理組態

構建客戶端對象時,您可以傳入可選ClientConfiguration對象以自定義客戶端的配置。

如果您透過 Proxy 伺服器連線到網際網路,您需要透過物件設定 Proxy 伺服器設定 (Proxy 主機、連接埠和使用者名稱/密碼)。ClientConfiguration

傳輸組態

您可以使用ClientConfiguration物件來設定數個 HTTP 傳輸選項。偶爾會新增新選項;若要查看可擷取或設定的完整選項清單,請參閱 AWS SDK for Java API 參考。

注意

每個可設定值都有一個由常數定義的預設值。如需的常數值清單ClientConfiguration,請參閱 AWS SDK for Java API 參考中的常數欄位值

連線數上限

您可以使用設定允許的開啟 HTTP 連線數目上限ClientConfiguration。 setMaxConnections方法。

重要

設定連線數上限到並行交易,避免連線失敗和效能不佳。有關默認最大連接值,請參閱 AWS SDK for Java API 參考中的常量字段值

逾時和錯誤處理

您可以設定與 HTTP 連線的逾時和處理錯誤相關的選項。

  • 連線逾時

    連線逾時是 HTTP 連線在放棄之前等待建立連線的時間量 (以毫秒為單位)。預設值為 10,000 毫秒。

    若要自行設定此值,請使用 ClientConfiguration. setConnectionTimeout方法。

  • 即時連線時間 (TTL)

    根據預設,SDK 會盡可能長時間嘗試重複使用 HTTP 連線。在失敗的情況下,建立連線至已從服務中取出的伺服器,具有有限的 TTL 可協助應用程式復原。例如,設定 15 分鐘 TTL 可確保即使您已建立連線到發生問題的伺服器,也可以在 15 分鐘內重新建立與新伺服器的連線。

    若要設定 HTTP 連線 TTL,請使用 ClientConfiguration.set 連線 TTL 方法。

  • 錯誤重試次數上限

    可重新擷取錯誤的預設重試次數上限為 3。您可以使用設定不同的值ClientConfiguration。 setMaxError重試方法。

本地地址

若要設定 HTTP 用戶端將繫結的本機位址,請使用ClientConfiguration。 setLocalAddress

TCP 通訊端緩衝區大小提示

想要調整低階 TCP 參數的進階使用者可以透過ClientConfiguration物件另外設定 TCP 緩衝區大小提示。大多數用戶永遠不需要調整這些值,但它們是為高級用戶提供的。

應用程式的最佳 TCP 緩衝區大小高度取決於網路和作業系統的組態和功能。例如,大多數現代作業系統都針對 TCP 緩衝區大小提供自動調整邏輯。這對 TCP 連線的效能有很大的影響,因為這些連線保持開放時間足以讓自動調整以最佳化緩衝區大小。

較大的緩衝區大小(例如 2 MB)允許操作系統在內存中緩衝更多數據,而無需遠程服務器確認收到該信息,因此當網絡具有高延遲時特別有用。

這只是一個提示,操作系統可能不遵守它。使用此選項時,用戶應始終檢查操作系統的配置限制和默認值。大多數作業系統都設定了 TCP 緩衝區大小上限,並且除非您明確提高最大 TCP 緩衝區大小限制,否則不會讓您超出該限制。

許多資源可協助您設定 TCP 緩衝區大小和作業系統特定 TCP 設定,包括下列項目: