Menyebarkan kluster MongoDB di Azure Kubernetes Service (AKS)
Artikel ini menjelaskan informasi prasyarat untuk menyebarkan kluster MongoDB di Azure Kubernetes Service (AKS). Ini juga memberikan gambaran umum tentang strategi penyebaran.
Penting
Perangkat lunak sumber terbuka disebutkan di seluruh dokumentasi dan sampel AKS. Perangkat lunak yang Anda sebarkan dikecualikan dari perjanjian tingkat layanan AKS, garansi terbatas, dan dukungan Azure. Saat Anda menggunakan teknologi sumber terbuka bersama AKS, konsultasikan opsi dukungan yang tersedia dari masing-masing komunitas dan pengelola proyek untuk mengembangkan rencana.
Misalnya, repositori Ray GitHub menjelaskan beberapa platform yang bervariasi dalam tingkat waktu respons, tujuan, dan dukungan.
Microsoft bertanggung jawab untuk membangun paket sumber terbuka yang kami sebarkan di AKS. Tanggung jawab itu termasuk memiliki kepemilikan lengkap atas proses build, pemindaian, tanda tangan, validasi, dan perbaikan, bersama dengan kontrol atas biner dalam gambar kontainer. Untuk informasi selengkapnya, lihat Manajemen kerentanan untuk cakupan dukungan AKS dan AKS.
MongoDB adalah sistem manajemen database NoSQL populer yang dirancang untuk menangani data yang tidak terstruktur dalam volume besar. Tidak seperti database relasional tradisional yang menggunakan tabel dan baris, MongoDB menggunakan pendekatan berorientasi dokumen yang fleksibel.
Catatan
MongoDB Community Edition bukan perangkat lunak sumber terbuka. Ini dilisensikan di bawah Lisensi Publik Sisi Server dengan "sumber tersedia."
Kluster pecahan MongoDB menangani himpunan data besar dan throughput tinggi dengan mendistribusikan data di beberapa server atau pecahan. Arsitektur ini memungkinkan penskalaan horizontal, yang penting untuk aplikasi yang memiliki kebutuhan data dan performa yang berkembang.
Berikut adalah perincian komponen utamanya dan cara kerjanya:
- Shard: Instans MongoDB individual yang disebut shard menyimpan subset data. Setiap shard adalah set replika, atau sekelompok instans MongoDB yang mereplikasi data di antara mereka sendiri. Set replika membantu memastikan ketersediaan tinggi dan toleransi kesalahan.
- Server konfigurasi: Server yang menyimpan metadata dan pengaturan konfigurasi untuk kluster pecahan disebut server konfigurasi. Mereka melacak distribusi data kluster dan informasi perutean. Kluster biasanya memiliki tiga server konfigurasi untuk menyediakan redundansi.
- Instans Mongos: Mongos adalah layanan perutean yang mengarahkan permintaan klien ke shard yang sesuai. Ini bertindak sebagai perantara antara klien dan pecahan. Instans Mongos mengelola perutean kueri dan menggabungkan hasil dari pecahan.
- Kunci shard: Saat data didistribusikan di seluruh pecahan, itu didasarkan pada kunci shard, yang merupakan bidang terindeks tunggal atau beberapa bidang dalam dokumen. Kunci shard menentukan bagaimana data dipartisi di antara pecahan. Kunci shard yang dipilih dengan baik membantu memastikan distribusi data yang merata dan kueri yang efisien.
- Distribusi data: Data didistribusikan di seluruh pecahan berdasarkan kunci shard. Distribusi ini membantu menyeimbangkan beban dan mengelola himpunan data besar secara efektif. MongoDB menggunakan strategi sharding berbasis rentang atau berbasis hash, tergantung pada kunci shard.
- Ketersediaan tinggi: Setiap shard adalah set replika, yang berarti bahwa ia mereplikasi datanya di beberapa simpul. Penyiapan ini memastikan bahwa data tetap tersedia meskipun satu atau beberapa simpul gagal.
Operator Percona untuk MongoDB adalah alat sumber terbuka yang dikembangkan Percona . Ini mengotomatiskan penyebaran, manajemen, dan penskalaan kluster MongoDB dalam lingkungan Kubernetes. Ini menyederhanakan operasi dengan menangani tugas seperti provisi, penskalaan, pencadangan, dan pemulihan. Penanganannya terhadap semua tugas tersebut membantu memastikan ketersediaan dan performa kluster MongoDB yang tinggi.
Operator menggunakan definisi sumber daya kustom (CRD) Kubernetes untuk mengelola konfigurasi MongoDB secara deklaratif dan untuk menangani failover, pemantauan, dan pemberitahuan. Hasilnya adalah mengurangi overhead administratif dan praktik manajemen yang konsisten. Operator Percona meningkatkan efisiensi dan keandalan penyebaran MongoDB, terutama dalam aplikasi cloud-native. Ini ideal untuk skenario pengembangan, pengujian, dan produksi.
Tujuan dari solusi yang diusulkan adalah untuk:
- Pastikan kluster MongoDB dapat menangani himpunan data besar dan operasi throughput tinggi secara efektif.
- Pertahankan ketersediaan tinggi dan toleransi kesalahan.
Solusi ini akan mencapai tujuan ini melalui penggunaan set replika, aturan anti-afinitas, dan alokasi sumber daya yang tepat.
Strategi penyebaran MongoDB terdiri dari komponen-komponen berikut:
- Kluster pecahan untuk mengaktifkan distribusi data di beberapa pecahan, meningkatkan skalabilitas dan performa.
- Server konfigurasi yang dikelola oleh set replika tiga anggota untuk membantu memastikan toleransi kesalahan dan ketersediaan tinggi. Aturan anti-afinitas mendistribusikan server ini di seluruh domain kegagalan.
- Tiga instans Mongos didistribusikan di seluruh zona ketersediaan dan diekspos secara internal dalam kluster. Mereka memberikan penyeimbangan beban dan ketahanan untuk merutekan permintaan klien.
Microsoft mempertahankan artikel ini. Kontributor berikut awalnya menulisnya:
- Nelly Kiboi | Teknisi Layanan
- Saverio Proto | Teknisi Pengalaman Pelanggan Utama
- Don Tinggi | Insinyur Pelanggan Utama
- LaBrina Mencintai | Teknisi Layanan Utama
- Ken Kilty | TPM Utama
- Russell de Pina | TPM Utama
- Colin Mixon | Manajer Produk
- Ketan Chawda | Insinyur Pelanggan Senior
- Naveed Kharadi | Teknisi Pengalaman Pelanggan
- Erin Schaffer | Pengembang Konten 2
- Carol Smith | Pengembang Konten Senior
Umpan balik Azure Kubernetes Service
Azure Kubernetes Service adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: