MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Bermigrasi dari Maxscale ke ProxySQL Load Balancer

Penyeimbang beban database, atau proxy, adalah layanan middleware antara lapisan aplikasi dan lapisan database. Aplikasi terhubung ke proxy database, dan proxy meneruskan koneksi ke database. Ada beberapa manfaat menggunakan proxy database, misalnya:membagi kueri baca dan tulis, kueri cache, distribusi kueri berdasarkan beberapa algoritme perutean, penulisan ulang kueri, dan skala beban kerja hanya-baca Anda. Proxy basis data juga mengabstraksi topologi basis data (dan perubahan apa pun) untuk lapisan aplikasi, sehingga aplikasi hanya perlu terhubung ke satu titik akhir tunggal.

Ada berbagai proxy database di luar sana, dari komersial hingga opsi open source misalnya, HAProxy, Nginx, ProxySQL, Maxscale, dll. Di blog ini, kita akan membahas cara memigrasikan proxy database dari Maxscale ke ProxySQL dengan bantuan ClusterControl.

Arsitektur Saat Ini dengan Maxscale

Pertimbangkan arsitektur database yang sangat tersedia yang terdiri dari 3 node dalam Galera Cluster, dan di atasnya, 2 layanan Maxscale dan Keepalive untuk ketersediaan proxy database yang tinggi. Galera Cluster adalah replikasi sinkron "hampir", menggunakan sertifikasi berbasis replikasi memastikan data Anda akan tersedia di semua node. Arsitektur saat ini ditunjukkan di bawah ini:

Maxscale adalah proxy database dari MariaDB Corporation, yang bertindak sebagai middleware antar aplikasi dan database.

Berikut adalah arsitektur topologi untuk Cluster Galera dan penyeimbang beban Maxscale di ClusterControl. Anda dapat menerapkan semua ini langsung dari ClusterControl, atau mengimpor database dan node proxy yang ada ke ClusterControl. Anda dapat melihat topologi database Anda di Tab Topology.

Terapkan ProxySQL &Keepalive

ProxySQL adalah proxy database lain dari ProxySQL, yang menyediakan beberapa fitur seperti cache kueri, penulisan ulang kueri, pemisahan kueri untuk menulis dan membaca berdasarkan pola kueri. Untuk menyebarkan ProxySQL di ClusterControl, Anda harus pergi ke Manage -> Load Balancers di cluster Anda. ClusterControl mendukung beberapa proxy database yang berbeda; HAProxy, ProxySQL, MaxScale.

Pilih ProxySQL, dan akan muncul halaman di bawah ini:

Kita perlu memilih alamat server tempat ProxySQL akan diinstal. Kami dapat menginstal pada node yang ada atau jika Anda ingin memiliki node khusus untuk ProxySQL, cukup ketik alamat IP dalam daftar. Isi kata sandi untuk pengguna Administrasi dan Pemantauan, Tambahkan pengguna aplikasi ke ProxySQL atau Anda dapat mengkonfigurasi nanti. Aktifkan server database untuk disertakan dalam set penyeimbangan beban di ProxySQL. Klik tombol Deploy ProxySQL. Kami harus memiliki setidaknya 2 ProxySQL untuk ketersediaan tinggi.

Jika kita lupa menambahkan pengguna database ke dalam ProxySQL selama penyiapan, kita dapat mengonfigurasinya di tab pengguna ProxySQL seperti yang ditunjukkan di bawah ini:

ProxySQL juga mengharuskan pengguna database untuk dikonfigurasi di ProxySQL.

Setelah ProxySQL di-deploy, kami melanjutkan untuk mengonfigurasi Keepalive di setiap host ProxySQL. Layanan keepalive akan bertindak sebagai peran master/cadangan di seluruh instance ProxySQL. Layanan Keepalive menggunakan VIP (Virtual IP Address), sehingga aplikasi akan terhubung ke IP Address virtual pada peran master, dan akan meneruskan koneksi ke ProxySQL lokal. Jika layanan gagal, VIP secara otomatis dipindahkan ke node lain.

Menyebarkan keepalive di ClusterControl dilakukan pada halaman yang sama dengan proxy database, Anda hanya perlu memilih tab Keepalive. Pilih jenis penyeimbang beban, yaitu ProxySQL, lalu tambahkan ProxySQL saat ini untuk Keepalive1 dan Keepalive2. Isi alamat IP Virtual dan antarmuka Jaringan. Dan terakhir, klik tombol Deploy Keepalive.

Menjalankan dua ProxySQL dengan layanan Keepalive memberi kita lapisan proxy ketersediaan tinggi. Di ClusterControl, itu ditunjukkan pada tampilan topologi di bawah ini:

Peralihan

Peralihan lalu lintas sangat mudah, hanya perlu mengubah koneksi alamat ip di lapisan aplikasi untuk menggunakan Alamat IP Virtual untuk ProxySQL, dan kemudian memantau lalu lintas melalui ProxySQL.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana STRCMP() Bekerja di MariaDB

  2. MariaDB DATABASE() Dijelaskan

  3. Manajemen Pengguna Basis Data:Mengelola Peran untuk MariaDB

  4. Mengumumkan ClusterControl 1.7.4:Replikasi Cluster-to-Cluster - Pemulihan Bencana Utama

  5. Bagaimana REVERSE() Bekerja di MariaDB