Topik ini menjawab pertanyaan dan isu umum mengenai penggunaan database proxy untuk RDS for MySQL.
Daftar Isi
Apakah database proxy menggunakan QPS atau TPS dari instans utama?
Apakah titik akhir database proxy sama dengan titik akhir instans biasa?
Apakah jenis jaringan internal database proxy sama dengan instans utama?
Arsitektur apa yang digunakan oleh database proxy? Apakah failover didukung?
Apa hubungan antara spesifikasi proxy dan spesifikasi node proxy?
Apa hubungan antara jumlah node proxy dan spesifikasi proxy?
Apakah ada hubungan antara jumlah node proxy dan jumlah titik akhir proxy?
Apakah kinerja database proxy meningkat jika saya menambahkan lebih banyak titik akhir proxy?
Dapatkah saya mengubah titik akhir database proxy (titik akhir pemisahan baca/tulis)?
Mengapa beban pada setiap node tidak sesuai dengan bobot baca yang dikonfigurasi?
Setelah saya mengaktifkan database proxy, bagaimana cara memverifikasi pemisahan baca/tulis?
Apakah operasi DDL secara otomatis disinkronkan dari instans utama ke instans sekunder?
Dapatkah saya mengubah zona ketersediaan saat memodifikasi konfigurasi proxy?
Apa itu database proxy?
Database proxy adalah layanan proxy jaringan yang berada di antara database dan server aplikasi Anda. Layanan ini meneruskan semua permintaan dari aplikasi Anda ke database dan menyediakan fitur-fitur lanjutan seperti pemisahan baca/tulis otomatis, pemisahan transaksi, kolam koneksi, dan persistensi koneksi. Database proxy dirancang untuk ketersediaan tinggi, performa tinggi, serta kemudahan penggunaan dan pemeliharaan.
Apa perbedaan antara proxy tujuan umum dan dedicated?
Tujuan umum: Berbagi sumber daya CPU fisik, sehingga menjadi opsi yang hemat biaya. Spesifikasi proxy maksimum adalah 16 core CPU (8 node proxy), dan tipe ini gratis.
Dedicated: Menggunakan sumber daya CPU fisik eksklusif, memberikan stabilitas performa yang lebih baik. Spesifikasi proxy maksimum adalah 64 core CPU (32 node proxy), dan tipe ini dikenai biaya berdasarkan skema pay-as-you-go.
Untuk informasi lebih lanjut, lihat Proxy tujuan umum dan dedicated, Hubungan antara jumlah node proxy dan spesifikasi proxy, dan Biaya database proxy.
Apakah database proxy menggunakan QPS atau TPS dari instans utama?
Tidak.
Apakah titik akhir database proxy sama dengan titik akhir instans biasa?
Tidak.
Titik akhir instans biasa mengarahkan semua permintaan ke instans tersebut secara spesifik.
Titik akhir database proxy secara otomatis mengidentifikasi permintaan baca dan tulis berdasarkan pernyataan SQL Anda. Permintaan tulis diteruskan ke instans utama dan permintaan baca diteruskan ke instansi hanya baca. Proses ini memungkinkan pemisahan baca/tulis dan mengurangi beban pada instans utama.
Setelah saya mengaktifkan database proxy, apakah titik akhir asli dari instans utama dan instansi hanya baca ditarik kembali?
Tidak.
Apakah jenis jaringan internal database proxy sama dengan instans utama?
Jaringan internal untuk database proxy selalu berupa VPC.
Arsitektur apa yang digunakan oleh database proxy? Apakah failover didukung?
Database proxy menggunakan arsitektur dual-primary-node yang sangat tersedia. Trafik didistribusikan antara kedua node dengan rasio 1:1. Jika salah satu node gagal, node lainnya mengambil alih seluruh trafik. Sebuah tugas secara otomatis dipicu untuk membangun ulang node yang gagal guna mempertahankan ketersediaan tinggi.
Untuk informasi lebih lanjut tentang arsitektur penerapan, lihat Arsitektur penerapan proxy.
Hubungan antara spesifikasi proxy dan spesifikasi node
spesifikasi proxy = Jumlah semua spesifikasi node proxy
Sebagai contoh, proxy dedicated diterapkan dalam penerapan dua zona (Zona Ketersediaan A dan Zona Ketersediaan B). Di Zona Ketersediaan A, terdapat dua node proxy dengan spesifikasi masing-masing 1 core CPU. Di Zona Ketersediaan B, terdapat dua node proxy dengan spesifikasi masing-masing 2 core CPU. Total spesifikasi proxy dihitung sebagai berikut: (1 core CPU × 2) + (2 core CPU × 2) = 2 core CPU + 4 core CPU = 6 core CPU.
Hubungan antara node proxy dan spesifikasi
jumlah node proxy = spesifikasi proxy / Spesifikasi per Unit, di mana spesifikasi per unit tetap sebesar 2 core CPU.
Sebagai contoh, jika spesifikasi proxy adalah 6 core CPU, maka jumlah node proxy adalah 3 (6 / 2).
Batasan spesifikasi node proxy
Spesifikasi satu node proxy berkisar antara 1 hingga 8 core CPU untuk tipe tujuan umum dan 1 hingga 16 core CPU untuk tipe dedicated.
Semua node proxy dalam satu zona ketersediaan harus memiliki spesifikasi yang sama.
Dalam penerapan dua zona dengan dua node, kedua node harus memiliki spesifikasi yang sama.
Node proxy di zona ketersediaan berbeda dapat memiliki spesifikasi berbeda. Untuk proxy tujuan umum, kami merekomendasikan agar node proxy di zona ketersediaan berbeda menggunakan spesifikasi yang sama.
Hubungan antara node proxy dan titik akhir
No.
Setelah Anda mengaktifkan database proxy untuk instans RDS, Anda dapat membuat satu hingga tujuh titik akhir proxy. Untuk setiap titik akhir proxy, Anda dapat membuat satu titik akhir internal dan satu titik akhir publik. Untuk informasi lebih lanjut, lihat Tambahkan titik akhir proxy.
Apakah menambahkan titik akhir proxy meningkatkan performa?
No.
Kinerja database proxy bergantung pada jumlah instansi hanya baca dan jumlah node proxy (spesifikasi proxy) untuk instans RDS Edisi Ketersediaan Tinggi. Untuk instans RDS Edisi Kluster, kinerja bergantung pada jumlah instans sekunder dan jumlah node proxy (spesifikasi proxy).
Menambah jumlah instansi hanya baca (untuk Edisi Ketersediaan Tinggi) atau instans sekunder (untuk Edisi Kluster) meningkatkan kapasitas pemrosesan baca database proxy.
Menambah jumlah node proxy (spesifikasi proxy) meningkatkan kinerja keseluruhan database proxy.
Batasan koneksi database proxy
Database proxy tidak membatasi jumlah maksimum koneksi. Batas ini ditentukan oleh spesifikasi node komputasi database Anda.
Penanganan error timeout koneksi
Tingkatkan nilai parameter wait_timeout dan coba sambungkan kembali. Untuk informasi lebih lanjut tentang cara memodifikasi parameter instans, lihat Atur parameter instans ApsaraDB RDS for MySQL.
Memodifikasi titik akhir proxy
Ya.
Anda dapat memodifikasi titik akhir database proxy (titik akhir pemisahan baca/tulis). Untuk informasi lebih lanjut, lihat Modifikasi titik akhir proxy.
Mengirim permintaan baca ke instans utama
Ya.
Anda dapat memberikan bobot baca ke instans utama saat mengonfigurasi distribusi bobot baca. Untuk informasi lebih lanjut tentang cara memberikan bobot baca ke instans utama, lihat Aktifkan fitur database proxy untuk instans ApsaraDB RDS for MySQL.
Dukungan hint untuk pemisahan baca/tulis
Ya. Anda dapat menggunakan hint untuk memaksa permintaan dieksekusi di instans utama. Untuk informasi lebih lanjut tentang format hint yang didukung oleh pemisahan baca/tulis RDS, lihat bagian "Gunakan hint untuk menentukan apakah pernyataan SQL dikirim ke instans utama atau instansi hanya baca" dalam Aturan alokasi bobot baca default.
Bobot baca yang dimodifikasi tidak berlaku
Setelah Anda memodifikasi bobot baca, hanya koneksi baru yang didistribusikan berdasarkan bobot baru tersebut. Koneksi yang sudah ada tidak terpengaruh.
Ketidakseimbangan beban dengan bobot baca
Jika distribusi beban di seluruh node tidak sesuai dengan bobot baca yang dikonfigurasi, periksa hal berikut:
Periksa apakah permintaan Anda merupakan bagian dari transaksi. Semua permintaan dalam satu transaksi diarahkan ke instans utama. Anda dapat mengaktifkan pemisahan transaksi untuk mengurangi beban pada instans utama.
Pastikan Anda hanya terhubung melalui titik akhir database proxy. Koneksi yang dilakukan menggunakan titik akhir instans utama atau instansi hanya baca akan melewati distribusi bobot baca.
Mengonfigurasi bobot baca tanpa database proxy
Jika database proxy dinonaktifkan, Anda tidak dapat mengonfigurasi bobot baca untuk instansi hanya baca. Namun, Anda tetap dapat mencapai pemisahan baca/tulis dan penyeimbangan beban dengan menggunakan titik akhir terpisah untuk instans utama dan instansi hanya baca dalam kode aplikasi Anda.
Failover koneksi untuk instansi hanya baca yang tidak tersedia
Tidak, koneksi yang sudah ada ke instans gagal tersebut tidak secara otomatis melakukan failover. Koneksi baru ke instans yang sehat hanya dibuat setelah koneksi yang gagal mengalami timeout.
Bagaimana cara memverifikasi pemisahan baca/tulis setelah Anda mengaktifkan layanan database proxy?
Sinkronisasi data otomatis ke instansi hanya baca baru
Ya. Saat Anda mengaktifkan database proxy untuk pemisahan baca/tulis, data historis secara otomatis disinkronkan dari instans utama ke instansi hanya baca. Tidak diperlukan intervensi manual.
Kolam koneksi proxy vs. kolam koneksi aplikasi
Database proxy menyediakan kolam koneksi tingkat proxy yang independen dari kolam tingkat client aplikasi Anda. Jika aplikasi Anda sudah menggunakan kolam koneksi, penggunaan kolam koneksi proxy tidak diperlukan. Untuk informasi lebih lanjut tentang kolam koneksi database proxy, lihat Konfigurasikan kolam koneksi.
Penanganan karakter acak pada hasil kueri
Jalankan perintah berikut untuk memeriksa apakah set karakter yang digunakan oleh instans utama dan instansi hanya baca konsisten:
select
@@global.character_set_results,
@@global.character_set_client,
@@global.character_set_connection,
@@global.character_set_server;Jika set karakter tidak konsisten, karakter acak dapat muncul. Anda dapat memodifikasi set karakter instans utama atau instansi hanya baca untuk memastikan konsistensi. Untuk informasi lebih lanjut tentang cara memodifikasi set karakter instans, lihat Set karakter instans ApsaraDB RDS for MySQL.
Sinkronisasi DDL otomatis
Ya. Semua operasi DDL, seperti membuat atau menghapus database dan tabel, mengubah struktur tabel, serta memodifikasi izin, secara otomatis disinkronkan dari instans utama ke instans sekundernya.
Menampilkan VPC dan ID vSwitch
Pada halaman Database proxy instans Anda, buka bagian Connection information. Untuk melihat informasi tersebut, arahkan pointer ke ikon di sebelah kanan Port, seperti yang ditunjukkan pada gambar berikut.

Dampak migrasi lintas zona terhadap instans utama
Migrasi node proxy lintas zona ketersediaan hanya memengaruhi workload yang menggunakan titik akhir database proxy. Koneksi yang dilakukan melalui titik akhir instans utama, titik akhir instansi hanya baca, titik akhir baca/tulis kluster, titik akhir hanya-baca kluster, atau titik akhir tingkat node tidak terpengaruh. Untuk meminimalkan dampak, alihkan workload Anda ke titik akhir yang tidak terpengaruh dan lakukan migrasi selama jam sepi.
Dampak migrasi proxy lintas zona
Saat Anda memigrasikan proxy lintas zona ketersediaan, koneksi yang menggunakan database proxy mungkin mengalami pemutusan sementara selama sekitar 30 detik. Durasi aktual gangguan bergantung pada workload Anda. Untuk meminimalkan dampak, alihkan workload Anda ke titik akhir yang tidak terpengaruh dan lakukan migrasi selama jam sepi. Untuk informasi lebih lanjut, lihat Migrasikan database proxy lintas zona.
Dampak migrasi lintas zona terhadap akses terdekat
Fitur tersebut mungkin menjadi tidak tersedia.
Mengubah zona ketersediaan saat konfigurasi
Tidak.
Jika Anda perlu memigrasikan ke zona ketersediaan berbeda, lihat Migrasikan database proxy lintas zona.
Menyelesaikan error vSwitchId dalam penerapan satu zona
Saat mengubah dari penerapan dua zona (misalnya, di Zona Ketersediaan 1 dan Zona Ketersediaan 2) ke penerapan satu zona (misalnya, di Zona Ketersediaan 1), Anda harus terlebih dahulu menghapus titik akhir database proxy di Zona Ketersediaan 2. Untuk informasi lebih lanjut, lihat Modifikasi titik akhir proxy.
Apakah alamat IP proxy yang diselesaikan bersifat tetap?
Tidak. Selalu gunakan titik akhir database proxy (misalnya, d3pswqe3jk9xwc5d****-rw4rm.rwlb.rds.aliyuncs.com) untuk terhubung, bukan alamat IP yang diselesaikan.
Memverifikasi koneksi melalui titik akhir proxy
Anda dapat mengidentifikasi metode koneksi berdasarkan ID session. ID session kurang dari 16777215 menunjukkan koneksi melalui titik akhir instans. ID yang lebih tinggi menunjukkan koneksi melalui titik akhir database proxy.
ID session terlihat di Manajemen session.
Data tidak langsung terlihat setelah operasi write
Penyebab umum: Hal ini terjadi ketika proxy mengarahkan permintaan baca Anda ke instansi hanya baca yang tertinggal dari instans utama karena latensi replikasi.
Solusi:
Gunakan hint: Untuk kueri yang memerlukan konsistensi baca kuat, gunakan hint
/*FORCE_MASTER*/untuk mengarahkan permintaan ke instans utama.Nonaktifkan pemisahan transaksi dan bungkus kueri yang memerlukan konsistensi baca kuat dalam satu transaksi.
Atur tingkat konsistensi ke konsistensi global.
Masing-masing solusi ini mengarahkan lebih banyak kueri ke instans utama, yang dapat meningkatkan bebannya. Evaluasi kapasitas instans utama Anda sebelum melakukan perubahan. Kami merekomendasikan penggunaan hint sebagai metode utama untuk mengarahkan hanya permintaan baca ber-konsistensi tinggi tertentu ke instans utama.