Cluster MariaDB adalah sistem replikasi Multi Master yang dibangun dari Server MariaDB, patch wsrep MySQL, dan penyedia wsrep Galera.
Galera didasarkan pada metode replikasi sinkron (atau 'hampir sinkron'), yang memastikan data diterapkan ke node lain sebelum dikomit. Memiliki data yang sama di semua node berarti kegagalan node dapat dengan mudah ditoleransi, dan tidak ada data yang hilang. Juga lebih mudah untuk failover ke node lain, karena semua node up to date dengan data yang sama. Dapat dikatakan bahwa MariaDB Cluster adalah solusi ketersediaan tinggi yang dapat mencapai waktu aktif tinggi untuk organisasi dengan Perjanjian Tingkat Layanan database yang ketat.
Selain mengelola ketersediaan tinggi, juga dapat digunakan untuk menskalakan layanan database dan memperluas layanan ke berbagai wilayah.
Penerapan Cluster MariaDB
Cluster MariaDB di ClusterControl sangat mudah, dan tersedia dalam Edisi Komunitas yang dapat digunakan secara gratis. Anda dapat melalui “Deploy”, pilih MySQL Galera seperti gambar di bawah ini:
Isi informasi user dan kredensial SSH, Nama Cluster yang ingin digunakan lalu Lanjutkan.
Pilih MariaDB sebagai Vendor database yang ingin Anda instal. Direktori Data Server, Port Server dapat menggunakan konfigurasi default, kecuali jika Anda menentukan konfigurasi tertentu. Isi password database Admin/Root dan terakhir Add Node untuk menambahkan alamat IP target node database.
Galera Node memerlukan setidaknya 3 node atau Anda dapat menggunakan 2 node database dan galera arbiter yang dikonfigurasi pada host terpisah.
Setelah semua kolom terisi, tinggal Deploy cluster. Ini akan memicu pekerjaan baru untuk Buat Cluster seperti yang ditunjukkan di bawah ini:
Penerapan Skala Maks
Maxscale adalah penyeimbang beban database, proxy database, dan firewall yang berada di antara aplikasi Anda dan node MariaDB. Beberapa fitur Maxscale adalah :
- Failover Otomatis untuk Ketersediaan Tinggi
- Penyeimbangan beban lalu lintas (pembagian baca dan tulis)
- Kontrol lalu lintas untuk kueri dan koneksi.
Ada dua cara untuk melakukan Load Balancer Deployment, Anda dapat “Add Load Balancer” di Menu Cluster seperti gambar di bawah ini:
Atau Anda dapat membuka Manage -> Load Balancer. Ini akan menuju ke halaman yang sama, yaitu halaman Load Balancer. Pilih "tab Maxscale" untuk penerapan penyeimbang beban Maxscale:
Pilih Alamat Server, tentukan nama pengguna dan kata sandi maxscale, Anda dapat meninggalkan konfigurasi default untuk Thread dan port Baca/Tulis. Sertakan juga node MariaDB untuk ditambahkan di load balancer. Anda dapat “Menyebarkan MaxScale” untuk menerapkan proxy database MaxScale dan penyeimbangan beban.
Praktik terbaik untuk membuat penyeimbang beban sangat tersedia adalah dengan menyiapkan setidaknya 2 instans MaxScale pada host yang berbeda.
Penerapan Tetap Terjaga
Keepalived adalah layanan daemon di linux yang digunakan untuk health check, dan juga digunakan untuk failover jika salah satu server sedang down. Mekanismenya menggunakan VIP (Virtual IP Address) untuk mencapai ketersediaan tinggi, terdiri dari satu server bertindak sebagai Master, dan yang lainnya bertindak sebagai Cadangan.
Deployment of Keepalive adalah layanan yang dapat dilakukan di Manage -> Load Balancer.
Silakan pilih jenis Load Balancer Anda, yaitu MaxScale. Saat ini, ClusterControl mendukung HAProxy, ProxySQL, dan MaxScale sebagai penyeimbang beban yang dapat diintegrasikan dengan Keepalive. Tentukan IP Virtual (VIP) dan Antarmuka Jaringan Anda untuk Alamat IP Virtual.
Setelah itu, klik saja Deploy Keepalive. Ini akan memicu tugas baru untuk menerapkan Keepalive di kedua host MaxScale.
Arsitektur akhir untuk MariaDB Cluster for High Availability terdiri dari 3 node database, 2 node load balancer, dan layanan keepalive di atas setiap load balancer seperti yang ditunjukkan pada Topologi di bawah ini :
Kesimpulan
Kami telah menunjukkan bagaimana kami dapat dengan cepat menerapkan Cluster MariaDB Ketersediaan Tinggi dengan MaxScale dan Keepalive melalui ClusterControl. Kami pergi melalui pengaturan untuk node database dan node proxy. Untuk membaca lebih lanjut tentang Galera Cluster, lihat tutorial online kami. Perhatikan bahwa ClusterControl juga mendukung penyeimbang beban lain seperti ProxySQL dan HAProxy. Cobalah ini dan beri tahu kami jika Anda memiliki pertanyaan.