本節主要介紹V1.0 SDK 如何進行 HTTP 串連池配置。
V1.0 SDK 中通過 HttpClientConfig 在初始化 Client 階段設定串連池設定,由於單 Client 的原因,多個雲產品的 SDK 請求會共用一個串連池:
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.http.HttpClientConfig;
import com.aliyuncs.profile.DefaultProfile;
import com.google.gson.Gson;
public class Sample {
public static void main(String[] args) {
// 建立DefaultAcsClient執行個體並初始化
DefaultProfile profile = DefaultProfile.getProfile(
// 地區ID
"<region-id>",
// 從環境變數擷取RAM使用者的AccessKey ID
System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
// 從環境變數擷取RAM使用者的AccessKey SECRET
System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
/* 多個SDK client共用一個串連池,此處設定該串連池的參數,比如每個host的最大串連數,逾時時間等 */
HttpClientConfig clientConfig = HttpClientConfig.getDefault();
clientConfig.setMaxRequestsPerHost(6);
// 時間單位為毫秒
clientConfig.setConnectionTimeoutMillis(30000L);
clientConfig.setMaxIdleConnections(20);
profile.setHttpClientConfig(clientConfig);
IAcsClient client = new DefaultAcsClient(profile);
}
}