Bagikan melalui


Dukungan multi-kluster

Dukungan Multi-Kluster dihapus di v2. Dokumentasi di bawah ini mengacu pada Orleans v1. Orleansv.1.3.0 menambahkan dukungan untuk menggabungkan beberapa Orleans kluster ke dalam multi-kluster yang terhubung secara longgar yang bertindak sebagai layanan tunggal. Multi-kluster memfasilitasi distribusi geografis sebagai layanan, yaitu memudahkan untuk menjalankan aplikasi Orleans di beberapa pusat data di seluruh dunia. Selain itu, multi-kluster dapat dijalankan dalam satu pusat data untuk mendapatkan kegagalan dan isolasi performa yang lebih baik.

Semua mekanisme dirancang dengan perhatian khusus untuk:

  1. Minimalkan komunikasi antar kluster.
  2. Biarkan setiap kluster berjalan secara otonom bahkan jika kluster lain gagal atau menjadi tidak dapat dijangkau.

Konfigurasi dan operasi

Di bawah ini kami mendokumendokuasikan cara mengonfigurasi dan mengoperasikan multi-kluster.

Komunikasi. Kluster berkomunikasi melalui koneksi silo-ke-silo yang sama yang digunakan dalam kluster. Untuk bertukar informasi status dan konfigurasi, Kluster menggunakan mekanisme gosip dan implementasi saluran gosip.

Konfigurasi Silo. Silo perlu dikonfigurasi sehingga mereka tahu kluster mana yang mereka miliki (setiap kluster diidentifikasi oleh string unik). Selain itu, setiap silo perlu dikonfigurasi dengan string koneksi yang memungkinkan mereka untuk terhubung ke satu atau beberapa saluran gosip saat startup.

Injeksi Konfigurasi Multi-Kluster. Pada runtime, operator layanan dapat menentukan dan/atau mengubah konfigurasi multi-kluster, yang berisi daftar id kluster, untuk menentukan kluster mana yang merupakan bagian dari multi-kluster saat ini. Ini dilakukan dengan memanggil biji-bijian manajemen di salah satu kluster.

Butir multi-kluster

Di bawah ini kami mendokumendokuasikan cara menggunakan fungsionalitas multi-kluster di tingkat aplikasi.

Grain Global-Single-Instance. Pengembang dapat menunjukkan kapan dan bagaimana kluster harus mengoordinasikan direktori biji-bijian mereka mengenai kelas biji-bijian tertentu. Artinya GlobalSingleInstanceAttribute kita menginginkan perilaku yang sama seperti saat berjalan Orleans dalam satu kluster global: yaitu, merutekan semua panggilan ke satu aktivasi biji-bijian. Sebaliknya, OneInstancePerClusterAttribute menunjukkan bahwa setiap kluster dapat memiliki aktivasi independennya. Ini sesuai jika komunikasi antar kluster tidak diinginkan.

Butir tampilan log(bukan di v.1.3.0). Jenis biji-bijian khusus yang menggunakan API baru, mirip dengan sumber peristiwa, untuk menyinkronkan atau mempertahankan status biji-bijian. Ini dapat digunakan untuk secara otomatis dan efisien menyinkronkan status biji-bijian antara kluster dan dengan penyimpanan. Karena algoritma sinkronisasinya aman digunakan dengan biji-bijian masuk kembali, dan dioptimalkan untuk menggunakan batching dan replikasi, algoritma dapat berkinerja lebih baik daripada biji-bijian standar ketika biji-bijian sering diakses dalam beberapa kluster, dan/atau ketika sering ditulis ke penyimpanan. Dukungan untuk butir tampilan log belum menjadi bagian dari cabang utama. Kami memiliki prarilis termasuk sampel dan sedikit dokumentasi di geo-orleans cabang. Saat ini sedang dievaluasi dalam produksi oleh pengadopsi awal.