Konfigurasi Klien - AWS SDK for Java 1.x

Kami mengumumkan yang akan datang end-of-support untuk AWS SDK for Java (v1). Kami menyarankan Anda bermigrasi ke AWS SDK for Java v2. Untuk tanggal, detail tambahan, dan informasi tentang cara bermigrasi, silakan merujuk ke pengumuman tertaut.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Konfigurasi Klien

AWS SDK for Java Ini memungkinkan Anda untuk mengubah konfigurasi klien default, yang sangat membantu ketika Anda ingin:

  • Connect ke Internet melalui proxy

  • Ubah pengaturan transport HTTP, seperti batas waktu koneksi dan permintaan percobaan ulang

  • Tentukan petunjuk ukuran buffer soket TCP

Konfigurasi Proxy

Saat membuat objek klien, Anda dapat meneruskan ClientConfigurationobjek opsional untuk menyesuaikan konfigurasi klien.

Jika Anda terhubung ke Internet melalui server proxy, Anda harus mengonfigurasi pengaturan server proxy Anda (host proxy, port, dan nama pengguna/kata sandi) melalui objek. ClientConfiguration

Konfigurasi Transportasi HTTP

Anda dapat mengkonfigurasi beberapa opsi transportasi HTTP dengan menggunakan ClientConfigurationobjek. Opsi baru sesekali ditambahkan; untuk melihat daftar lengkap opsi yang dapat Anda ambil atau atur, lihat Referensi AWS SDK for Java API.

catatan

Masing-masing nilai yang dapat dikonfigurasi memiliki nilai default yang ditentukan oleh konstanta. Untuk daftar nilai konstantaClientConfiguration, lihat Nilai Bidang Konstan di Referensi AWS SDK for Java API.

Koneksi Maksimum

Anda dapat mengatur jumlah maksimum koneksi HTTP terbuka yang diizinkan dengan menggunakan file ClientConfiguration. setMaxConnectionsmetode.

penting

Atur koneksi maksimum ke jumlah transaksi bersamaan untuk menghindari perselisihan koneksi dan kinerja yang buruk. Untuk nilai koneksi maksimum default, lihat Nilai Bidang Konstan di Referensi AWS SDK for Java API.

Timeout dan Penanganan Kesalahan

Anda dapat mengatur opsi yang terkait dengan batas waktu dan menangani kesalahan dengan koneksi HTTP.

  • Batas Waktu Koneksi

    Batas waktu koneksi adalah jumlah waktu (dalam milidetik) bahwa koneksi HTTP akan menunggu untuk membuat koneksi sebelum menyerah. Defaultnya adalah 10.000 ms.

    Untuk menetapkan nilai ini sendiri, gunakan ClientConfiguration. setConnectionTimeoutmetode.

  • Waktu Koneksi untuk Hidup (TTL)

    Secara default, SDK akan mencoba menggunakan kembali koneksi HTTP selama mungkin. Dalam situasi kegagalan di mana koneksi dibuat ke server yang telah dibawa keluar dari layanan, memiliki TTL yang terbatas dapat membantu pemulihan aplikasi. Misalnya, pengaturan TTL 15 menit akan memastikan bahwa meskipun Anda memiliki koneksi yang dibuat ke server yang mengalami masalah, Anda akan membangun kembali koneksi ke server baru dalam waktu 15 menit.

    Untuk mengatur TTL koneksi HTTP, gunakan ClientConfigurationmetode.setConnectionTtl.

  • Mencoba Ulang Kesalahan Maksimum

    Jumlah percobaan ulang maksimum default untuk kesalahan yang dapat diambil adalah 3. Anda dapat menetapkan nilai yang berbeda dengan menggunakan ClientConfiguration. setMaxErrorMetode coba lagi.

Alamat Lokal

Untuk mengatur alamat lokal yang akan diikat oleh klien HTTP, gunakanClientConfiguration. setLocalAddress.

Petunjuk Ukuran Penyangga Soket TCP

Pengguna tingkat lanjut yang ingin menyetel parameter TCP tingkat rendah juga dapat mengatur petunjuk ukuran buffer TCP melalui objek. ClientConfiguration Mayoritas pengguna tidak akan pernah perlu mengubah nilai-nilai ini, tetapi mereka disediakan untuk pengguna tingkat lanjut.

Ukuran buffer TCP yang optimal untuk suatu aplikasi sangat bergantung pada konfigurasi dan kemampuan jaringan dan sistem operasi. Misalnya, sebagian besar sistem operasi modern menyediakan logika penyetelan otomatis untuk ukuran buffer TCP. Ini dapat berdampak besar pada kinerja koneksi TCP yang dibuka cukup lama untuk penyetelan otomatis untuk mengoptimalkan ukuran buffer.

Ukuran buffer yang besar (misalnya, 2 MB) memungkinkan sistem operasi untuk menyangga lebih banyak data dalam memori tanpa memerlukan server jarak jauh untuk mengakui penerimaan informasi tersebut, sehingga dapat sangat berguna ketika jaringan memiliki latensi tinggi.

Ini hanya petunjuk, dan sistem operasi mungkin tidak menghormatinya. Saat menggunakan opsi ini, pengguna harus selalu memeriksa batas dan default yang dikonfigurasi sistem operasi. Sebagian besar sistem operasi memiliki batas ukuran buffer TCP maksimum yang dikonfigurasi, dan tidak akan membiarkan Anda melampaui batas itu kecuali Anda secara eksplisit menaikkan batas ukuran buffer TCP maksimum.

Banyak sumber daya tersedia untuk membantu mengonfigurasi ukuran buffer TCP dan pengaturan TCP khusus sistem operasi, termasuk yang berikut ini: