Menggunakan Redis Enterprise di Azure

Storan NoSQL terdapat dalam pelbagai jenis. Sebilangannya adalah pangkalan data dokumen, yang lain menyimpan pasangan kunci / nilai, semuanya menyokong pelbagai jenis indeks dan pertanyaan. Terdapat sistem berasaskan cakera dan sistem yang dirancang untuk berfungsi dalam memori. Ada yang mengendalikan sejumlah besar data dengan cekap; yang lain menumpukan pada penghantaran kelajuan. Dengan begitu banyak produk yang berbeza, kadangkala sukar untuk memilihnya.

Salah satu sistem dalam memori yang lebih popular ialah Redis, Server Kamus Jauh. Ia dibina di atas pelayan Redis sumber terbuka, yang ditaja oleh RedisLabs, dengan sekumpulan pilihan perusahaan komersial. Microsoft telah menawarkan pelaksanaan sendiri dari sumber terbuka Redis pada Azure untuk beberapa waktu sekarang, di mana ia digunakan sebagai cache berprestasi tinggi. Walau bagaimanapun, baru-baru ini mengumumkan kerjasama dengan RedisLabs, membawa tumpukan Redis Enterprise yang dikendalikan sepenuhnya ke awan Microsoft.

Menambah Redis Enterprise ke Azure

Perkhidmatan baru mungkin dianggap terbaik untuk menambahkan dua tahap baru ke perkhidmatan Asas, Standard, dan Premium yang ada: Enterprise dan Enterprise SSD. Pelaksanaan Microsoft Redis telah difokuskan pada penyampaian cache berkinerja tinggi untuk data anda dalam aplikasi cloud-native yang besar, di mana cache membantu menguruskan mesej untuk keadaan kod atau sesi yang didorong oleh peristiwa ketika anda membuat sistem tanpa wadah atau tanpa pelayan.

Cache bukan hanya untuk menguruskan data masuk. Aplikasi moden boleh menggunakannya sebagai cara untuk memuatkan kandungan yang selalu diakses oleh pengguna. Anda boleh memuatkan semula Azure's Redis dengan aset biasa anda, seperti tajuk dan logo, yang tidak sering berubah. Dengan mengehoskannya ke dalam memori mereka dapat dihantar lebih cepat, daripada menariknya dari cakera setiap kali halaman dimuat.

Menggunakan Redis adalah mengenai prestasi. Menempatkan data cache anda dalam sistem memori dapat mengurangkan latensi aplikasi dengan ketara, terutama ketika Anda sedang membangun dan menjalankan aplikasi yang diedarkan secara besar-besaran. Kandungan di kedai Redis dapat ditiru antara wilayah Azure, mengurangkan risiko pengguna di satu wilayah harus mengakses konten yang tersimpan di seluruh dunia.

Bermula dengan Azure Cache untuk Redis

Pelaksanaan sumber terbuka Microsoft, Azure Cache untuk Redis, hadir dalam Basic, Standard, dan Premium, dengan ukuran maksimum 1.2TB untuk pangkalan data Premium. Basic adalah implementasi simpul tunggal yang agak sederhana, tanpa SLA tetapi pilihan ukuran memori. Standard memberi anda lebih kebolehpercayaan dengan menerapkan sistem dua nod dan menambahkan SLA. Sekiranya anda memerlukan prestasi yang lebih baik dan latensi yang lebih rendah, pilihan Premium menggunakan gred perkakasan Azure yang berbeza, memberikan hasil yang lebih tinggi daripada Standard untuk konfigurasi yang sama.

Cukup mudah untuk menyediakan cache Redis di Azure. Mulakan dengan nama DNS, kemudian tambahkan cache ke kumpulan sumber dan pilih lokasi. Ini menyediakan mesin maya yang mendasari dan melancarkan cache anda; setelah Azure melaporkannya sebagai berjalan, anda boleh menggunakannya dalam kod anda. Kredensial yang diperlukan untuk menyambung ke Redis ada di Portal Azure anda, dengan kunci akses dan rentetan sambungan. Portal menunjukkan alamat contoh anda serta port yang perlu disambungkan oleh kod anda. Secara lalai, ini akan melalui SSL.

Terdapat pelbagai pakej NuGet untuk menggunakan Redis dengan aplikasi .NET anda, dengan panggilan untuk mendapatkan dan menetapkan item dalam cache Redis, dan juga untuk memeriksa bahawa aplikasi anda disambungkan ke Redis. Yang perlu anda lakukan ialah mengatur rentetan sambungan cache anda dan kemudian menggunakannya untuk membuat objek cache dari pangkalan data Redis anda. Sekiranya anda menggunakan Visual Studio, anda boleh bekerjasama dengan Redis menggunakan alat pangkalan data .NET seperti Entity Framework.

Aplikasi berasaskan redis mudah dilaksanakan menggunakan pola MVC (model, view, dan controller), menggunakan pengawal untuk menulis data bersiri ke dalam cache dan membacanya bila perlu. Microsoft mengesyorkan menggunakan format JSON untuk menulis dan membaca data, dengan data JSON yang dikembalikan mudah diformat dan dipaparkan menggunakan perpustakaan JavaScript dan .NET biasa.

Azure Cache untuk Redis lebih daripada sekadar pangkalan data dan sekumpulan API, kerana ia mengandungi sekumpulan alat pengurusan yang lengkap, termasuk pemantauan. Ini dapat membantu anda memperhitungkan contoh Redis anda jika perlu. Anda hanya boleh meningkatkan tahap, beralih dari Asas ke Standard ke Premium.

Sebarang perubahan ukuran adalah operasi yang berasingan, dan anda boleh mengubah ukuran ke atas atau ke bawah dalam tahap yang sama (dengan syarat anda tidak dapat menurunkan ke ukuran ukuran Standard terkecil). Sekiranya anda ingin turun ke tahap, buat contoh Redis baru, dan kemudian salin data atau struktur apa pun ke pangkalan data baru sebelum menghapus versi lama. Sekiranya anda perlu membuat penskalaan secara automatik, anda boleh menggunakan PowerShell atau Azure CLI, atau dengan kod menggunakan Perpustakaan Pengurusan Azure.

Meningkatkan ciri pangkalan data dalam memori Redis Enterprise

Pelaksanaan Azure's Redis bagus, tetapi ini bukan keseluruhan cerita. Ia berdasarkan Redis sumber terbuka, jadi ia tidak mempunyai semua ciri Redis Enterprise komersial. Itulah sebabnya Microsoft dan Redis bekerjasama untuk menyampaikan dua peringkat tambahan, yang dikendalikan oleh Microsoft dan disokong oleh kedua-dua syarikat, dengan integrasi penuh dalam Azure Portal. Enterprise, peringkat asas, menggunakan penyimpanan Azure standard, sedangkan tingkat SSD Enterprise menambahkan sokongan untuk penyimpanan flash untuk akses lebih cepat ke data yang tidak tersedia dalam memori.

Saat ini dalam pratonton peribadi, perkhidmatan baru menambah sokongan untuk modul Redis Enterprise utama, yang membolehkan anda menggunakan perkhidmatan ini lebih banyak daripada data yang di-cache. Itu adalah perbezaan penting, kerana pangkalan data dalam memori yang cepat adalah bahagian penting dari sistem yang digerakkan secara berskala, terutamanya yang bergantung pada data siri masa. Ciri-ciri lain yang disokong termasuk RedisBloom, yang menambahkan penyaringan data probabilistik, dan RediSearch, yang meningkatkan pengindeksan dan membolehkan anda menggunakan carian teks penuh pada data anda.

Ciri tambahan akan ditambah ketika perkhidmatan beralih dari pratonton peribadi ke ketersediaan umum (yang dijadualkan pada akhir tahun 2020). Ini akan membolehkan anda menggunakan replikasi aktif-aktif antara wilayah geografi dan penyebaran hibrid yang berfungsi antara contoh Redis yang dihoskan oleh swasta dan Azure. Tidak perlu mempunyai hubungan khusus antara premis dan Azure Redis; replikasi aktif-aktif akan berfungsi melalui VPN.

Pelaksanaan Redis Enterprise yang baru kelihatan seperti Azure Cache untuk Redis yang ada di dalam portal, dan anda akan dapat meningkatkan dari keadaan yang ada atau bermula dari awal. Sekiranya anda mencari prestasi yang lebih baik, peningkatan adalah pilihan, tetapi anda mungkin ingin membuat contoh baru jika anda menggunakan mana-mana ciri pangkalan data baru. Anda boleh mengaktifkannya sebagai sebahagian daripada proses pembuatan, dari portal atau melalui templat Azure Resource Manager. Walaupun sebahagian besar pengurusan dan pemantauan anda berasal dari dalam Portal Azure, anda mempunyai pilihan untuk menggunakan alat pengurusan Redis sendiri untuk membantu menyesuaikan dan mengoptimumkan data anda.

Kombinasi pelaksanaan Azure's Redis dan RedisLabs 'Redis Enterprise adalah sesuatu yang menarik yang menunjukkan bagaimana vendor dengan penawaran premium yang dibina di atas landasan sumber terbuka dapat wujud bersama dengan awan skala besar. Azure dapat menawarkan perkhidmatan berdasarkan platform sumber terbuka, sementara pelaksanaan yang lebih kompleks dapat menggunakan alat RedisLabs. Laluan ini memberi syarikat akses ke aliran pendapatan baru tanpa harus mengubah model pelesenannya menjadi model yang mematikan penyedia awan.

Dengan jalan mudah dari perkhidmatan cache yang berasaskan Azure's Redis ke Redis Enterprise, dan tanpa perubahan dalam alat pengurusan atau hubungan penagihan, ini juga telus untuk pengguna akhir. Mereka mendapat akses ke tahap baru dan ciri baru tanpa perlu mengubah cara kerjanya.