Anda dapat memodifikasi atribut baca-tulis dari titik akhir proksi database sesuai kebutuhan bisnis Anda. Jika pengaturan bobot baca default tidak sesuai, Anda dapat menyesuaikannya. Topik ini menjelaskan cara mengubah atribut baca-tulis untuk instance ApsaraDB RDS for PostgreSQL dan mengonfigurasi bobot baca untuk instance RDS baca-saja.
Prasyarat
Fitur proksi database harus diaktifkan untuk instance RDS Anda. Untuk informasi lebih lanjut, lihat Aktifkan fitur proksi database.
Instance RDS Anda harus memiliki instance RDS baca-saja. Sebelum mengonfigurasi atribut baca-tulis untuk pemisahan baca/tulis, buat instance RDS baca-saja. Untuk informasi lebih lanjut, lihat Buat instance ApsaraDB RDS for PostgreSQL baca-saja.
Atribut Baca-Tulis
Daftar putih alamat IP proksi database selalu konsisten dengan daftar putih alamat IP instance RDS utama. Jika daftar putih alamat IP instance RDS utama diperbarui, daftar putih alamat IP proksi database juga akan diperbarui.
Atribut baca-tulis dapat berupa Baca/Tulis atau Hanya-Baca.
Baca/Tulis: Mendukung pemisahan baca/tulis untuk meningkatkan kemampuan pemrosesan beban kerja sistem database secara linear.
Jika Anda memilih atribut ini, pastikan titik akhir proksi database yang digunakan terhubung ke instance RDS utama dan setidaknya satu instance RDS baca-saja. Selain itu, titik akhir proksi database harus meneruskan semua permintaan tulis ke instance RDS utama. Titik akhir proksi database sebelumnya dikenal sebagai terminal proksi.
Hanya-Baca: Digunakan untuk memproses permintaan hanya-baca, seperti kueri laporan.
Jika Anda memilih atribut ini, pastikan bahwa titik akhir proksi database yang digunakan terhubung ke setidaknya satu instance RDS baca-saja dan tidak meneruskan permintaan ke instance RDS utama.
Jika Anda memilih atribut Hanya-Baca untuk titik akhir proksi database, sistem akan mendistribusikan koneksi baru secara bergantian ke instance RDS baca-saja yang terhubung ke titik akhir tersebut. Dalam skenario ini, setiap koneksi klien dialokasikan ke satu instance RDS baca-saja, tanpa melibatkan instance RDS utama. Total jumlah koneksi yang tersedia merupakan gabungan dari semua koneksi ke instance RDS baca-saja yang terhubung ke titik akhir proksi database.
Logika pemrosesan berdasarkan atribut baca-tulis
Atribut baca-tulis | Cara menentukan bobot baca | Bobot instance RDS utama | Kasus normal | Setelah instance RDS baca-saja terakhir dihapus | Setelah semua instance RDS baca-saja gagal |
Hanya-Baca | Automatic atau custom | Anda tidak dapat menentukan bobot baca untuk instance RDS utama. |
|
|
|
Baca/Tulis | Otomatis | Bobot sama dengan 0 Untuk informasi lebih lanjut, lihat Aturan alokasi bobot baca oleh sistem. |
|
|
|
Kustom | Bobot lebih besar dari 0 |
|
|
| |
Bobot sama dengan 0 |
|
|
|
Tidak ada penerusan permintaan: Instance RDS utama tidak terlibat dalam penerusan permintaan hanya-baca.
Kesalahan koneksi: Kesalahan dilaporkan jika permintaan baca dan tulis tidak dapat diproses dalam pengaturan koneksi titik akhir proksi database dengan atribut Hanya-Baca.
Dalam mode baca/tulis, jika bobot instance RDS utama diatur ke 0, permintaan baca tidak diteruskan ke instance RDS utama. Jika instance RDS baca-saja dari instance RDS utama gagal, petunjuk paksa ditentukan, atau pemisahan transaksi diaktifkan, permintaan baca diteruskan ke instance RDS utama.
Prosedur
Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instance RDS berada. Cari instance RDS dan klik ID instance tersebut.
Di panel navigasi sisi kiri, klik Database Proxy.
Di bagian Connection Information, temukan titik akhir proksi database yang ingin dimodifikasi di kolom Proxy Endpoint (Terminal) ID dan klik Modify Configuration di kolom Tindakan.
Di kotak dialog yang muncul, atur Read/Write Attributes ke Read/Write (Read/Write Splitting) atau Read-only (Primary Instance Not Connected to Receive Write Requests).
Atur Read Weight Allocation ke Automatic atau Custom.
Automatic: Sistem secara otomatis menetapkan bobot baca ke setiap instance RDS berdasarkan spesifikasinya. Setelah membuat instance RDS baca-saja, sistem secara otomatis menetapkan bobot baca dan menambahkan instance tersebut ke tautan pemisahan baca/tulis. Anda tidak perlu menentukan bobot baca secara manual. Untuk informasi lebih lanjut, lihat Bobot baca default.
Custom: Tentukan bobot baca untuk setiap instance RDS baca-saja. Nilai valid: 0 hingga 10.000. Setelah membuat instance RDS baca-saja, sistem mengatur bobot bacanya menjadi 0. Modifikasi bobot baca untuk instance baru tersebut.
CatatanBobot baca yang lebih tinggi menunjukkan lebih banyak permintaan baca yang perlu diproses. Misalnya, jika instance RDS utama memiliki 3 instance RDS baca-saja dengan bobot baca 100, 200, dan 200, serta bobot baca instance RDS utama adalah 0, maka instance RDS utama hanya memproses permintaan tulis, sedangkan instance RDS baca-sajanya memproses permintaan baca dengan rasio
1:2:2.Setelah mengonfigurasi ulang parameter ini, bobot baca baru segera berlaku tanpa koneksi transien. Koneksi yang ada tetap valid. Hanya permintaan melalui koneksi baru yang diteruskan berdasarkan bobot baru.
Setelah instance RDS baca-saja dilepaskan, bobot bacanya secara otomatis menjadi tidak valid.
Jika instance RDS gagal atau latensi replikasi data melebihi ambang batas yang ditentukan, bobot baca menjadi tidak valid. Setelah instance RDS berfungsi normal kembali, bobot baca menjadi valid lagi.
Tambahkan
/*FORCE_MASTER*/ke pernyataan SQL untuk permintaan baca agar diteruskan ke instance RDS utama. Untuk permintaan baca yang ingin diteruskan ke instance baca-saja, tambahkan/*FORCE_SLAVE*/ke pernyataan SQL.Contoh:
/*FORCE_MASTER*/ SELECT * FROM table_name;
Operasi terkait
Operasi | Deskripsi |
Mengkueri detail proksi database. | |
Mengkueri detail titik akhir proksi database untuk proksi database. | |
Memodifikasi atribut baca-tulis dan bobot baca dari titik akhir proksi database. |