Pertimbangan perencanaan kapasitas untuk kluster Service Fabric

Perencanaan kapasitas kluster penting untuk setiap lingkungan produksi Service Fabric. Pertimbangan utama meliputi:

  • Jumlah awal properti jenis node kluster

  • Tingkat durabilitas setiap jenis node, yang menentukan hak istimewa VM Service Fabric dalam infrastruktur Azure

  • Tingkat keandalan kluster yang menentukan stabilitas layanan sistem Service Fabric dan fungsi kluster secara keseluruhan

Artikel ini akan memandu Anda melalui poin keputusan penting untuk setiap bidang ini.

Jumlah awal dan properti jenis node kluster

Jenis node menentukan ukuran, jumlah, dan properti untuk set node (komputer virtual) dalam kluster. Setiap jenis node yang didefinisikan dalam peta cluster Service Fabric ke set skala komputer virtual.

Setiap jenis node merupakan set skala yang berbeda, skalanya dapat diturunkan secara independen, memiliki set port terbuka yang berbeda, dan menskalakan metrik kapasitas berbeda. Untuk informasi selengkapnya tentang hubungan antara jenis node dan set skala komputer virtual, lihat Jenis node kluster Service Fabric.

Setiap kluster memerlukan satu jenis node primer, yang menjalankan layanan sistem penting yang menyediakan kemampuan platform Service Fabric. Meskipun dimungkinkan juga menggunakan jenis node primer untuk menjalankan aplikasi Anda, sebaiknya mendedikasikannya semata-mata untuk menjalankan layanan sistem.

Jenis node nonprimary dapat digunakan untuk menentukan peran aplikasi (seperti layanan front-end dan back-end ) dan untuk mengisolasi layanan secara fisik dalam kluster. Kluster Service Fabric dapat memiliki nol atau lebih jenis node nonprimary.

Jenis node primer dikonfigurasi menggunakan atribut isPrimary di bawah definisi jenis node dalam templat penyebaran Azure Resource Manager. Lihat objek NodeTypeDescription untuk daftar lengkap properti jenis node. Untuk contoh penggunaan, buka file AzureDeploy.json apa pun dalam sampel kluster Service Fabric dan cari Temukan di Halaman untuk objek nodeTypes.

Pertimbangan perencanaan jenis node

Jumlah jenis node awal tergantung pada tujuan kluster Anda dan aplikasi dan layanan yang berjalan di dalamnya. Pertimbangkan skenario berikut:

  • Apakah aplikasi Anda memiliki beberapa layanan, dan apakah ada yang perlu publik atau menghadapi internet?

    Aplikasi umum berisi layanan gateway ujung depan yang menerima input dari klien, dan satu atau lebih layanan ujung belakang yang berkomunikasi dengan layanan ujung depan, dengan jaringan terpisah antara layanan ujung depan dan ujung belakang. Kasus-kasus ini biasanya memerlukan tiga jenis node: satu jenis node primer, dan dua jenis node nonprimary (masing-masing satu untuk layanan front dan back-end).

  • Apakah layanan membentuk aplikasi yang memiliki infrastruktur berbeda yang memerlukan siklus RAM lebih besar atau CPU lebih tinggi?

    Seringkali, layanan ujung depan dapat berjalan pada VM yang lebih kecil (ukuran VM seperti D2) yang memiliki port terbuka untuk internet. Layanan back-end yang intensif secara komputasi mungkin perlu berjalan pada VM yang lebih besar (dengan ukuran VM seperti D4, D6, D15) yang tidak terhubung ke internet. Mendefinisikan berbagai jenis node untuk layanan ini memungkinkan Anda untuk membuat penggunaan VM Service Fabric dasar yang lebih efisien dan aman, dan memungkinkan untuk menskalakannya secara independen. Untuk informasi selengkapnya tentang memperkirakan jumlah sumber daya yang diperlukan, lihat Perencanaan kapasitas untuk aplikasi Service Fabric

  • Apakah salah satu layanan aplikasi Anda perlu memperluas skala melebihi 100 node?

    Jenis node tunggal tidak dapat menskalakan lebih dari 100 node per skala komputer virtual yang ditetapkan untuk aplikasi Service Fabric. Menjalankan lebih dari 100 node memerlukan set skala komputer virtual tambahan (dan juga jenis node tambahan).

  • Apakah kluster Anda akan tersebar di Zona Ketersediaan?

    Service Fabric mendukung kluster yang membentang di seluruh Zona Ketersediaan dengan menyebarkan jenis node yang disematkan ke zona tertentu, memastikan ketersediaan tinggi aplikasi Anda. Zona Ketersediaan memerlukan perencanaan jenis node tambahan dan persyaratan minimum. Untuk detail selengkapnya, lihat Topologi untuk merentangkan jenis node primer di seluruh Zona Ketersediaan.

Saat menentukan jumlah dan properti jenis node untuk pembuatan awal kluster Anda, perlu diingat bahwa Anda selalu dapat menambahkan, memodifikasi, atau menghapus jenis node (nonprimary) setelah kluster Anda disebarkan. Jenis node utama juga dapat ditingkatkan atau diturunkan dalam kluster yang sedang berjalan, meskipun untuk melakukannya, Anda harus membuat jenis node baru, memindahkan beban kerja, lalu menghapus jenis node primer asli.

Pertimbangan lebih lanjut untuk properti jenis node Anda adalah tingkat durabilitas, yang menentukan hak istimewa yang ditemukan VM jenis node dalam infrastruktur Azure. Gunakan ukuran VM yang Anda pilih untuk kluster dan jumlah instans yang Anda tetapkan untuk jenis node individual gunakan membantu menentukan tingkat durabilitas yang sesuai untuk setiap jenis node Anda, seperti yang dijelaskan selanjutnya.

Karakteristik durabilitas kluster

Tingkat durabilitas menentukan hak istimewa yang dimiliki VM Service Fabric Anda dengan infrastruktur Azure yang mendasarinya. Hak istimewa ini memungkinkan Service Fabric untuk menjeda permintaan infrastruktur level VM apa pun (seperti boot ulang, citra ulang, atau migrasi) yang memengaruhi persyaratan kuorum untuk layanan sistem Service Fabric dan layanan berstatus Anda.

Penting

Tingkat durabilitas diatur setiap jenis node. Jika tidak ada yang ditentukan, tingkat Perunggu akan digunakan. Beban kerja produksi memerlukan tingkat durabilitas Silver atau Emas untuk membantu menghindari kehilangan data dari permintaan infrastruktur tingkat VM.

Tabel di bawah ini mencantumkan tingkat durabilitas Service Fabric, persyaratan, dan keterjangkauannya.

Tingkat durabilitas Jumlah minimum VM yang diperlukan Ukuran VM yang Didukung Pembaruan yang Anda buat pada set skala komputer virtual Anda Pembaruan dan pemeliharaan yang dimulai oleh Azure
Emas 5 Ukuran simpul penuh yang didedikasikan untuk satu pelanggan - ukuran VM yang tersedia Dapat ditunda sampai disetujui oleh kluster Service Fabric Dapat dijeda selama 2 jam per domain peningkatan untuk memungkinkan waktu tambahan agar replika pulih dari kegagalan sebelumnya
Perak 5 VMs core tunggal atau di atasnya dengan SSD lokal minimum 50 GB Dapat ditunda sampai disetujui oleh kluster Service Fabric Tidak dapat ditunda untuk jangka waktu yang signifikan
Perunggu 1 VM dengan SSD lokal minimum 50 GB Tidak akan tertunda oleh kluster Service Fabric Tidak dapat ditunda untuk jangka waktu yang signifikan

Catatan

Jumlah minimum VM yang disebutkan di atas adalah persyaratan yang diperlukan untuk setiap tingkat durabilitas. Kami memiliki validasi di tempat yang akan mencegah pembuatan atau modifikasi set skala komputer virtual yang ada yang tidak memenuhi persyaratan ini.

Peringatan

Dengan durabilitas Perunggu, peningkatan citra OS otomatis tidak tersedia. Meskipun Aplikasi Orkestrasi Patch (hanya ditujukan untuk kluster yang dihosting non-Azure) tidak disarankan untuk tingkat durabilitas Perak atau yang lebih tinggi, ini adalah satu-satunya opsi Anda untuk mengotomatiskan pembaruan Windows terkait dengan domain peningkatan Service Fabric.

Penting

Terlepas dari tingkat durabilitas, menjalankan operasi Dealokasi pada set skala komputer virtual akan merusak kluster.

Perunggu

Jenis node yang berjalan dengan durabilitas Perunggu tidak memperoleh hak istimewa. Ini berarti bahwa pekerjaan infrastruktur yang berdampak pada beban kerja berstatus Anda tidak akan dihentikan atau ditunda. Gunakan durabilitas Perunggu hanya untuk jenis node yang menjalankan beban kerja tanpa status. Untuk beban kerja produksi, sebaiknya menjalankan Perak atau di atasnya.

Perak dan Emas

Gunakan durabilitas Perak atau Emas untuk semua jenis node yang menjadi host layanan berstatus yang sering Anda harapkan untuk diskalakan, dan di mana Anda ingin operasi penyebaran ditunda dan kapasitas dikurangi demi menyederhanakan proses. Skenario peluasan skala seharusnya tidak memengaruhi pilihan Tingkat durabilitas Anda.

Kelebihan

  • Mengurangi jumlah langkah yang diperlukan untuk operasi penskalaan (penonaktifan node dan Remove-ServiceFabricNodeState disebutkan secara otomatis).
  • Mengurangi risiko kehilangan data karena operasi perubahan ukuran VM yang terapkan dan operasi infrastruktur Azure.

Kekurangan

  • Penyebaran ke set skala komputer virtual dan sumber daya Azure terkait lainnya bisa kehabisan waktu, ditunda, atau diblokir sepenuhnya berdasarkan masalah kluster Anda atau tingkat infrastruktur.
  • Meningkatkan jumlah peristiwa siklus hidup replika (misalnya swap primer) karena penonaktifan node otomatis selama operasi infrastruktur Azure.
  • Mengeluarkan node dari layanan untuk jangka waktu tertentu selama pembaruan perangkat lunak platform Azure atau aktivitas pemeliharaan perangkat keras berlangsung. Anda mungkin melihat node dengan status Penonaktifan/Dinonaktifkan selama aktivitas ini. Ini mengurangi kapasitas kluster Anda untuk sementara, tetapi seharusnya tidak memengaruhi ketersediaan kluster atau aplikasi Anda.

Praktik terbaik untuk jenis node durabilitas Perak dan Emas

Ikuti rekomendasi berikut untuk mengelola jenis node dengan durabilitas Perak atau Emas:

  • Jaga agar kluster dan aplikasi Anda tetap sehat setiap saat, dan pastikan aplikasi merespons semua peristiwa siklus hidup replika Layanan (seperti replika bawaan macet) dengan tepat waktu.
  • Mengadopsi cara yang lebih aman untuk membuat perubahan ukuran VM (skala naik/turun). Mengubah ukuran VM dari set skala komputer virtual yang membutuhkan perencanaan dan peringatkan berhati-hati. Untuk detailnya, lihat Meningkatkan skala jenis node Service Fabric
  • Pertahankan jumlah minimum lima node untuk setiap set skala komputer virtual yang memiliki tingkat durabilitas Emas atau Perak aktif. Kluster Anda akan memasukkan status kesalahan jika Anda menskalakan di bawah ambang batas ini, dan Anda harus membersihkan status secara manual (Remove-ServiceFabricNodeState) untuk simpul yang dihapus.
  • Setiap skala komputer virtual yang ditetapkan dengan tingkat durabilitas Perak atau Emas harus memetakan ke jenis nodenya sendiri di kluster Service Fabric. Pemetaan beberapa set skala komputer virtual ke jenis node tunggal akan mencegah koordinasi antara kluster Service Fabric dan infrastruktur Azure agar tidak berfungsi dengan baik.
  • Jangan hapus instans VM acak, selalu gunakan skala set skala komputer virtual dalam fitur. Penghapusan instans VM acak memiliki potensi menciptakan ketidakseimbangan dalam instans VM yang tersebar di domain peningkatan dan domain kesalahan. Ketidakseimbangan ini dapat berdampak buruk pada kemampuan sistem untuk memuat keseimbangan dengan tepat di antara instans layanan/replika Layanan.
  • Jika menggunakan Skala Otomatis, tetapkan aturan sedemikian rupa yang menskalakan dalam operasi (menghapus instans VM) yang dilakukan hanya satu node pada satu waktu. Penskalakan dalam lebih dari satu instans pada satu waktu tidak aman.
  • Jika menghapus atau melakukan dealokasi VM pada jenis node primer, jangan pernah mengurangi jumlah VM yang dialokasikan kurang dari yang diperlukan tingkat keandalan. Operasi ini akan diblokir tanpa batas waktu dalam skala yang ditetapkan dengan tingkat durabilitas Perak atau Emas.

Mengubah tingkat durabilitas

Dalam batasan tertentu, tingkat durabilitas jenis node dapat disesuaikan:

  • Jenis node dengan tingkat durabilitas Perak atau Emas tidak bisa diturunkan tingkatnya ke Perunggu.
  • Menurunkan jenis node dengan tingkat durabilitas Gold ke Silver tidak didukung.
  • Peningkatan dari Perunggu ke Silver atau Emas dapat memakan waktu beberapa jam.
  • Saat mengubah tingkat durabilitas, pastikan untuk memperbaruinya dalam konfigurasi ekstensi Service Fabric di skala komputer virtual Anda mengatur sumber daya dan dalam definisi jenis node di sumber daya kluster Service Fabric Anda. Nilai ini harus cocok.

Pertimbangan lain ketika perencanaan kapasitas adalah tingkat keandalan untuk kluster Anda, yang menentukan stabilitas layanan sistem dan kluster keseluruhan Anda, seperti yang dijelaskan di bagian berikutnya.

Karakteristik keandalan kluster

Tingkat keandalan kluster menentukan jumlah replika layanan sistem yang berjalan pada jenis node primer kluster. Makin banyak replika, makin andal layanan sistem (dan kluster secara keseluruhan).

Penting

Tingkat keandalan diatur pada tingkat kluster dan menentukan jumlah minimum node dari jenis node primer. Beban kerja produksi memerlukan tingkat keandalan Perak (lebih besar atau sama dengan lima node) atau lebih tinggi.

Tingkat keandalan dapat menggunakan nilai berikut:

  • Platinum - Layanan sistem berjalan dengan jumlah set replika target sembilan
  • Emas - Layanan sistem berjalan dengan jumlah set replika target tujuh
  • Perak - Layanan sistem berjalan dengan jumlah set replika target lima
  • Perunggu - Layanan sistem berjalan dengan jumlah set replika target tiga

Berikut rekomendasi tentang memilih tingkat keandalan. Jumlah node awal juga diatur ke jumlah minimum node untuk tingkat keandalan.

Jumlah node Tingkat Keandalan
1 Jangan tentukan reliabilityLevel parameter: sistem menghitungnya.
3 Perunggu
5 atau 6 Perak
7 atau 8 Emas
9 ke atas Platinum

Ketika Anda menambah atau mengurangi ukuran kluster Anda (jumlah instans VM di semua jenis node), pertimbangkan untuk memperbarui keandalan kluster Anda dari satu tingkat ke tingkat lainnya. Melakukan ini memicu peningkatan kluster yang diperlukan untuk mengubah jumlah set replika layanan sistem. Tunggu hingga peningkatan yang sedang berlangsung selesai sebelum membuat perubahan lain pada kluster, seperti menambahkan node. Anda dapat memantau progres peningkatan pada Service Fabric Explorer atau dengan menjalankan Get-ServiceFabricClusterUpgrade

Perencanaan kapasitas untuk keandalan

Kebutuhan kapasitas kluster Anda akan ditentukan oleh persyaratan beban kerja dan keandalan spesifik. Bagian ini menyediakan panduan umum untuk membantu memulai perencanaan kapasitas.

Penentuan ukuran komputer virtual

Untuk beban kerja produksi, ukuran VM (SKU) yang direkomendasikan adalah Standard D2_V2 (atau setara) dengan minimal SSD lokal 50 GB, 2 core, dan memori 4 GiB. Sebaiknya minimum SSD lokal 50 GB, tetapi beberapa beban kerja (seperti yang menjalankan kontainer Windows) akan memerlukan disk yang lebih besar.

Secara default, SSD lokal dikonfigurasi ke 64 GB. Ukuran dapat dikonfigurasi dalam pengaturan MaxDiskQuotaInMB dari bagian Diagnostik pengaturan kluster.

Untuk petunjuk tentang cara menyesuaikan pengaturan kluster yang dihosting di Azure, lihat Meningkatkan konfigurasi kluster di Azure

Untuk petunjuk tentang cara menyesuaikan pengaturan kluster mandiri yang dihosting di Windows, lihat Meningkatkan konfigurasi kluster mandiri

Saat memilih ukuran VM lainnya untuk beban kerja produksi, ingatlah batasan berikut:

  • Ukuran VM inti parsial/tunggal seperti Standard A0 tidak didukung.
  • Seri A Ukuran VM tidak didukung karena alasan performa.
  • VM berprioritas rendah tidak didukung.
  • SKU Burstable Seri B tidak didukung.

Jenis node primer

Beban kerja produksi di Azure memerlukan minimum lima node primer (instans VM) dan tingkat keandalan Perak. Disarankan untuk mendedikasikan jenis node primer kluster untuk layanan sistem, dan menggunakan batasan penempatan untuk menyebarkan aplikasi Anda ke jenis node sekunder.

Beban kerja pengujian di Azure dapat menjalankan minimum satu atau tiga node primer. Untuk mengonfigurasi satu kluster node, pastikan bahwa reliabilityLevel pengaturan dihilangkan di templat Resource Manager Anda (menentukan nilai string kosong untuk reliabilityLevel tidak cukup). Jika Anda menyiapkan satu kluster node yang disiapkan dengan portal Microsoft Azure, konfigurasi ini dilakukan secara otomatis.

Peringatan

Kluster satu node berjalan dengan konfigurasi khusus tanpa keandalan dan di mana peluasan skala tidak didukung.

jenis node nonprimary

Jumlah minimum simpul untuk jenis node nonprimary tergantung pada tingkat durabilitas tertentu dari jenis node. Anda harus merencanakan jumlah node (dan tingkat durabilitas) berdasarkan jumlah replika aplikasi atau layanan yang ingin Anda jalankan untuk jenis node, dan tergantung pada apakah beban kerja berstatus atau tanpa status. Perlu diingat Anda dapat meningkatkan atau mengurangi jumlah VM dalam jenis node kapan saja setelah Anda menyebarkan kluster.

Beban kerja berstatus

Untuk beban kerja produksi yang berstatus menggunakan reliable collection atau reliable actor Service Fabric, sebaiknya minimum dan jumlah replika target lima. Dengan ini, dalam keadaan stabil Anda mengakhiri replika (dari set replika) di setiap domain kesalahan dan domain peningkatan. Secara umum, gunakan tingkat keandalan yang Anda tetapkan untuk layanan sistem sebagai panduan untuk jumlah replika yang Anda gunakan untuk layanan berstatus Anda.

Beban kerja tanpa status

Untuk beban kerja produksi stateless, ukuran jenis node nonprimary minimum yang didukung adalah tiga untuk mempertahankan kuorum, namun ukuran jenis node lima direkomendasikan.

Langkah berikutnya

Sebelum mengonfigurasi kluster Anda, tinjau Not Allowedkebijakan peningkatan kluster sehingga Anda tidak perlu membuat kembali kluster Anda nanti karena jika tidak pengaturan konfigurasi sistem tidak bisa ubah.

Untuk informasi selengkapnya tentang perencanaan kluster, lihat: