PolarProxy adalah lapisan proksi bawaan yang berada di antara aplikasi Anda dan kluster PolarDB. Proksi ini mengintersepsi semua permintaan masuk dan meneruskannya secara cerdas ke node primary dan node read-only, menyediakan fitur pemisahan baca/tulis otomatis, load balancing, pooling koneksi, tingkat konsistensi yang dapat dikonfigurasi, serta perlindungan terhadap kelebihan beban—tanpa perubahan apa pun pada string koneksi aplikasi Anda.
Hubungkan ke titik akhir kluster untuk mulai menggunakan fitur PolarProxy.
Kapan menggunakan PolarProxy
PolarProxy mengatasi tiga tantangan operasional umum:
Trafik baca tinggi: Teruskan permintaan baca ke beberapa node read-only untuk mendistribusikan beban dan mengurangi tekanan pada node primary.
Badai koneksi: Gunakan kolam koneksi untuk memultiplex ribuan koneksi aplikasi ke jumlah koneksi database yang lebih kecil, mencegah kelebihan beban selama lonjakan trafik.
Isolasi workload campuran: Buat beberapa titik akhir kluster—masing-masing dalam mode baca/tulis atau hanya-baca—untuk memisahkan secara fisik aplikasi atau jenis trafik yang berbeda. Misalnya, alokasikan dua node read-only ke titik akhir hanya-baca khusus untuk pekerjaan pelaporan, sementara node lainnya tetap digunakan untuk trafik transaksional.
Arsitektur

Kluster PolarDB Edisi Kluster memiliki satu node primary dan beberapa node read-only. Kluster ini menyediakan dua jenis titik akhir secara default:
Titik akhir utama: Meneruskan seluruh trafik langsung ke node primary.
Titik akhir kluster: Disediakan oleh PolarProxy. Mendukung mode baca/tulis (pemisahan baca/tulis otomatis) dan mode hanya-baca.
Edisi Perusahaan PolarProxy
PolarProxy Edisi Perusahaan tersedia dalam dua edisi yang sesuai dengan jenis kluster Anda.
Standard Enterprise Edition digunakan oleh kluster tujuan umum. Edisi ini berjalan pada resource CPU fisik bersama dengan skalabilitas elastis cerdas. Secara default, dialokasikan core CPU sebanyak seperenam dari total core CPU di seluruh node dalam kluster.
Dedicated Enterprise Edition digunakan oleh kluster Dedicated. Edisi ini berjalan pada resource CPU fisik eksklusif untuk stabilitas performa yang lebih baik. Secara default, dialokasikan core CPU sebanyak seperempat dari total core CPU di seluruh node dalam kluster.
Pada kedua edisi tersebut, resource CPU PolarProxy dialokasikan secara independen dari node komputasi kluster.
Tabel berikut menunjukkan perbedaan antara kedua edisi tersebut.
| Fitur | Standard Enterprise Edition | Dedicated Enterprise Edition |
|---|---|---|
| Jenis resource | CPU fisik bersama dengan skalabilitas elastis | CPU fisik eksklusif untuk performa stabil |
| Skala keluar node komputasi | Elastis, dalam hitungan detik | Pemesanan sumber daya eksklusif menjamin ketersediaan |
Kedua edisi memiliki kemampuan berikut:
Gratis
Arsitektur redundan berkeandalan tinggi
Spesifikasi kluster minimum: 2 core
Tidak ada batasan jumlah koneksi ke titik akhir kluster
IOPS penyimpanan kluster maksimum meningkat 50% dibandingkan edisi sebelumnya (lihat Spesifikasi node komputasi PolarDB untuk MySQL Edisi Perusahaan untuk batas per spesifikasi)
Konfigurasi node read-only tidak perlu sesuai dengan node primary—Anda dapat menurunkan spesifikasi node read-only berdasarkan beban bisnis untuk mengurangi biaya
Hingga 15 node read-only
Satu titik akhir utama dan tujuh titik akhir kluster
Failover dengan hot standby: koneksi diblokir sementara selama 5–10 detik, tetapi tidak diputus
Tingkat konsistensi: konsistensi akhir, konsistensi sesi, dan konsistensi global
Pooling koneksi, pemisahan transaksi, perlindungan terhadap gangguan (koneksi persisten), penyamaran data, stabilitas bisnis selama perubahan konfigurasi, Kluster Multi-master (Basis Data/Tabel), dan perlindungan throttling proksi (segera tersedia)
Penagihan
PolarProxy Edisi Perusahaan tidak dikenai biaya.
Tabel berikut menjelaskan cara migrasi kluster yang sudah ada ke PolarProxy Edisi Perusahaan.
| Jenis pembelian | Kebijakan peralihan |
|---|---|
| Kluster yang baru dibeli | Sejak 9 Desember 2021, semua kluster baru menggunakan PolarProxy Edisi Perusahaan. |
| Kluster pay-as-you-go yang sudah ada | Secara otomatis dialihkan ke PolarProxy Edisi Perusahaan pada 9 Desember 2021. |
| Kluster subscription yang sudah ada | Secara otomatis dialihkan ke PolarProxy Edisi Perusahaan pada 9 Desember 2021. |
Batasan
Hanya kluster PolarDB Edisi Kluster yang mendukung titik akhir kluster dan PolarProxy.
Catatan penggunaan
Perilaku pemisahan baca/tulis
Jika pemisahan transaksi tidak diaktifkan, semua permintaan dalam satu transaksi diteruskan ke node primary.
Menjalankan kueri multi-pernyataan atau memanggil prosedur tersimpan menyebabkan semua permintaan berikutnya pada koneksi tersebut diteruskan ke node primary. Untuk melanjutkan pemisahan baca/tulis, tutup koneksi dan buat koneksi baru.
Jangan ubah variabel lingkungan (seperti
SET NAMES utf8mb4) dalam batch multi-pernyataan (misalnya,SET NAMES utf8mb4;SELECT * FROM t1;). Tindakan ini dapat menyebabkan ketidakkonsistenan data antara node primary dan node read-only.Menjalankan
SHOW PROCESSLISTmelalui titik akhir kluster mengembalikan hasil dari semua node dalam kluster.
Routing koneksi untuk node read-only baru atau yang direstart
Session yang dibuat setelah Anda menambahkan atau merestart node read-only akan secara otomatis meneruskan permintaan baca ke node tersebut. Session yang dibuat sebelum penambahan atau restart tetap meneruskan ke himpunan node sebelumnya. Untuk menyertakan node baru atau yang direstart tersebut, tutup koneksi yang ada dan buat koneksi baru—misalnya, dengan merestart aplikasi Anda.
Batasan koneksi
Titik akhir kluster itu sendiri tidak memiliki batas koneksi keras. Jumlah maksimum efektif bergantung pada spesifikasi node komputasi Anda:
Mode pemisahan baca/tulis: Jumlah koneksi maksimum sama dengan jumlah koneksi maksimum satu node komputasi, karena aplikasi membuat koneksi ke setiap node dalam kluster.
Mode hanya-baca: Jumlah koneksi maksimum sama dengan jumlah total koneksi maksimum semua node read-only yang terkait dengan titik akhir tersebut.
Untuk meningkatkan batas koneksi efektif dalam mode pemisahan baca/tulis, aktifkan kolam koneksi tingkat transaksi. Untuk detailnya, lihat bagian "Kolam koneksi tingkat transaksi" dalam Pooling koneksi.
Protokol kompresi
PolarProxy tidak mendukung protokol kompresi untuk titik akhir kluster default maupun kustom.
Parameter timeout kolam koneksi aplikasi
Untuk mencegah koneksi hang akibat kehilangan paket atau masalah jaringan lainnya saat menggunakan kolam koneksi di sisi aplikasi, tambahkan connectTimeout dan socketTimeout ke URL koneksi Anda. Untuk detail parameter, lihat Parameters.
Contoh URL Java:
jdbc:mysql://ip:port/db?connectTimeout=60000&socketTimeout=300000Peningkatan spesifikasi PolarProxy
Spesifikasi default PolarProxy Edisi Perusahaan cukup untuk sebagian besar workload. Spesifikasi akan ditingkatkan secara otomatis secara real time berdasarkan beban yang teramati, sehingga tindakan manual umumnya tidak diperlukan.
Untuk kluster yang menjalankan versi PolarProxy sebelumnya, peningkatan spesifikasi manual juga didukung.
Peningkatan spesifikasi PolarProxy tidak mengonsumsi atau mengurangi core CPU yang dialokasikan untuk node komputasi kluster Anda, karena PolarProxy berjalan pada resource terpisah. Tidak ada biaya tambahan—PolarProxy Edisi Perusahaan gratis.
Untuk instruksi peningkatan, lihat Peningkatan spesifikasi PolarProxy.
Referensi API
| Operasi | Deskripsi |
|---|---|
| CreateDBEndpointAddress | Membuat titik akhir publik untuk kluster PolarDB. |
| CreateDBClusterEndpoint | Membuat titik akhir kustom untuk kluster PolarDB. |
| DescribeDBClusterEndpoints | Menanyakan informasi titik akhir kluster PolarDB. |
| ModifyDBClusterEndpoint | Memodifikasi konfigurasi titik akhir kluster. |
| ModifyDBEndpointAddress | Memodifikasi alamat titik akhir kluster, termasuk titik akhir kustom. |
| DeleteDBEndpointAddress | Menghapus titik akhir kluster. Tidak dapat digunakan untuk menghapus titik akhir kluster kustom privat. |
| DeleteDBClusterEndpoint | Menghapus titik akhir kluster kustom. |