Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Meningkatkan skalabilitas, kinerja, dan ketersediaan aplikasi dengan menggunakan Amazon RDS Proxy
Dibuat oleh Anand Komandooru, Noorul Hasan, Venkat Nalajala, dan Varun Kumar, Amazon Web Services ()AWS
Oktober 2022
Panduan ini akan membahas kebutuhan akan pengumpulan koneksi database, tantangan yang terkait dengan penerapan solusi yang di-host sendiri, dan manfaat menggunakan Proxy Amazon Relational Database Service (Amazon RDS) dengan Amazon RDS
Tantangan
PostgreSQL diimplementasikan dengan menggunakan model client/server. process-per-user
Banyak aplikasi, termasuk yang dibangun di atas arsitektur tanpa server modern, dapat memiliki sejumlah besar koneksi terbuka ke server database. Mereka mungkin membuka dan menutup koneksi database pada tingkat tinggi, menghabiskan memori database dan sumber daya komputasi.
Aplikasi transaksional yang sering membuka dan menutup koneksi akan mengalami latensi koneksi yang lebih tinggi, sehingga transaksi per detik lebih rendah. Ini akan meningkatkan latensi aplikasi.
Failover terjadi ketika instance database primer menjadi tidak dapat diakses, dan instance lain mengambil alih sebagai primer baru. Ini mengganggu koneksi klien. Failover dapat direncanakan, ketika mereka disebabkan oleh tindakan administratif seperti upgrade bergulir, atau tidak direncanakan, ketika mereka terjadi karena kegagalan. Dalam kedua kasus tersebut, operator harus mengurangi waktu henti untuk meminimalkan gangguan klien.
Praktek umum
Untuk mengatasi tantangan skalabilitas dan kinerja aplikasi, kumpulan koneksi digunakan. Penggabungan koneksi secara signifikan mengurangi latensi koneksi dengan menggunakan kembali koneksi yang ada, dan memungkinkan throughput database yang lebih tinggi (transaksi per detik) di server. Sebuah kumpulan koneksi antrian atau membatasi koneksi aplikasi yang tidak dapat dilayani langsung dari kumpulan koneksi.
Tantangan tambahan muncul setelah menerapkan penyatuan koneksi ini. Operator harus mengelola sendiri infrastruktur dan perangkat lunak untuk mengoperasikan layanan penyatuan koneksi. Untuk menangani peristiwa failover, pengembang aplikasi harus mengelola kompleksitas koneksi untuk setiap aplikasi. Aplikasi harus mendeteksi kegagalan koneksi, menemukan primer baru, dan menghubungkannya kembali secepat mungkin.
Rekomendasi
Untuk mengurangi tantangan yang terkait dengan solusi pengumpulan koneksi yang dihosting sendiri, sambil memanfaatkan manfaatnya, sebaiknya evaluasi Amazon RDS
RDS Proxy adalah proxy database yang dikelola sepenuhnya dan sangat tersedia. RDS Proxy menggunakan penyatuan koneksi untuk membuat aplikasi lebih terukur, lebih tahan terhadap kegagalan database, dan lebih aman.