Bagikan melalui


Parameter peningkatan aplikasi

Artikel ini menjelaskan berbagai parameter yang berlaku selama peningkatan aplikasi Azure Service Fabric. Parameter peningkatan aplikasi mengontrol waktu habis dan pemeriksaan kesehatan yang diterapkan selama peningkatan, dan mereka menentukan kebijakan yang harus diterapkan ketika peningkatan gagal. Parameter aplikasi berlaku untuk peningkatan menggunakan:

  • PowerShell
  • Visual Studio
  • SFCTL
  • REST

Peningkatan aplikasi dimulai melalui salah satu dari tiga mode peningkatan yang dapat dipilih pengguna. Setiap mode memiliki sekumpulan parameter aplikasinya sendiri:

  • Monitored
  • Unmonitored Auto
  • Unmonitored Manual

Parameter yang diperlukan dan opsional yang berlaku dijelaskan di setiap bagian sebagai berikut.

Parameter Visual Studio dan PowerShell

Peningkatan aplikasi Service Fabric menggunakan PowerShell menggunakan perintah Start-ServiceFabricApplicationUpgrade. Mode peningkatan dipilih dengan melewati parameter Monitored, UnmonitoredAuto, atau UnmonitoredManual ke Start-ServiceFabricApplicationUpgrade.

Parameter peningkatan aplikasi Visual Studio Service Fabric diatur melalui dialog Pengaturan Peningkatan Visual Studio. Mode peningkatan Visual Studio dipilih menggunakan kotak dropdown Mode Peningkatan ke Monitored, UnmonitoredAuto, atau UnmonitoredManual. Untuk informasi selengkapnya, lihat Mengonfigurasi peningkatan aplikasi Service Fabric di Visual Studio.

Parameter yang diperlukan

Parameter Berlaku Untuk Deskripsi
ApplicationName PowerShell Nama aplikasi yang sedang ditingkatkan. Contoh: fabric:/VisualObjects, fabric:/ClusterMonitor.
ApplicationTypeVersion PowerShell Versi jenis aplikasi yang ditargetkan oleh peningkatan.
FailureAction PowerShell, Visual Studio Nilai yang diperbolehkan adalah Rollback, Manual, dan Invalid. Tindakan kompensasi yang harus dilakukan saat peningkatan Monitored menemui pelanggaran kebijakan pemantauan atau kebijakan kesehatan.
Rollback menentukan bahwa peningkatan akan secara otomatis mengembalikan ke versi pra-pemutakhiran.
Manual menunjukkan bahwa peningkatan akan beralih ke mode pemutakhiran UnmonitoredManual.
Invalid menunjukkan bahwa aksi kegagalan tidak valid.
Monitored PowerShell Menunjukkan bahwa mode peningkatan dipantau. Setelah cmdlet menyelesaikan peningkatan untuk domain peingkatan, jika kesehatan domain peningkatan dan klaster memenuhi kebijakan kesehatan yang Anda tentukan, Service Fabric meningkatkan domain peningkatan berikutnya. Jika domain atau klaster peningkatan gagal memenuhi kebijakan kesehatan, peningkatan gagal dan Service Fabric mengembalikan peningkatan untuk domain peningkatan atau kembali ke mode manual sesuai kebijakan yang ditentukan. Ini adalah mode yang direkomendasikan untuk peningkatan aplikasi di lingkungan produksi.
UpgradeMode Visual Studio Nilai yang diizinkan Monitored (default), UnmonitoredAuto, atau UnmonitoredManual. Lihat parameter PowerShell untuk setiap mode dalam artikel ini untuk detailnya.
UnmonitoredAuto PowerShell Menunjukkan bahwa mode peningkatan tidak dipantau secara otomatis. Setelah Service Fabric meningkatkan domain peningkatan, Service Fabric meningkatkan domain peningkatan berikutnya terlepas dari status kesehatan aplikasi. Mode ini tidak direkomendasikan untuk produksi, dan hanya berguna selama pengembangan aplikasi.
UnmonitoredManual PowerShell Menunjukkan bahwa mode peningkatan tidak dipantau manual. Setelah Service Fabric meningkatkan domain peningkatan, ia menunggu Anda untuk meningkatkan domain peningkatan berikutnya dengan menggunakan cmdlet Resume-ServiceFabricApplicationUpgrade.

Parameter opsional

Parameter evaluasi kesehatan bersifat opsional. Jika kriteria evaluasi kesehatan tidak ditentukan saat peningkatan dimulai, Service Fabric menggunakan kebijakan kesehatan aplikasi yang ditentukan ApplicationManifest.xml dari instans aplikasi.

Parameter Berlaku Untuk Deskripsi
ApplicationParameter PowerShell, Visual Studio Menentukan ambil alih untuk parameter aplikasi.
Parameter aplikasi PowerShell ditentukan sebagai pasangan nama/nilai hashtable. Contohnya, @{ "VotingData_MinReplicaSetSize" = "3"; "VotingData_PartitionCount" = "1" }.
Parameter aplikasi Visual Studio dapat ditentukan dalam dialog Publikasikan Aplikasi Service Fabric di bidang File Parameter Aplikasi.
Konfirmasikan PowerShell Nilai yang diperbolehkan adalah True dan False. Meminta konfirmasi sebelum menjalankan cmdlet.
ConsiderWarningAsError PowerShell, Visual Studio Nilai yang diperbolehkan adalah True dan False. Nilai default adalah False. Perlakukan peristiwa kesehatan peringatan untuk aplikasi sebagai kesalahan saat mengevaluasi kesehatan aplikasi selama peningkatan. Secara default, Service Fabric tidak mengevaluasi peristiwa kesehatan peringatan menjadi kegagalan (kesalahan), sehingga peningkatan dapat dilanjutkan bahkan jika ada peristiwa peringatan.
DefaultServiceTypeHealthPolicy PowerShell, Visual Studio Menentukan kebijakan kesehatan untuk jenis layanan default yang digunakan untuk peningkatan yang dipantau dalam format MaxPercentUnhealthyPartitionsPerService, MaxPercentUnhealthyReplicasPerPartition, MaxPercentUnhealthyServices. Contohnya, 5,10,15 menunjukkan nilai berikut: MaxPercentUnhealthyPartitionsPerService = 5, MaxPercentUnhealthyReplicasPerPartition = 10, MaxPercentUnhealthyServices = 15.
Paksa PowerShell, Visual Studio Nilai yang diperbolehkan adalah True dan False. Menunjukkan bahwa proses peningkatan melompati pesan peringatan dan memaksa peningkatan bahkan ketika nomor versi belum berubah. Ini berguna untuk pengujian lokal tetapi tidak direkomendasikan untuk digunakan di lingkungan produksi karena memerlukan penghapusan penyebaran yang ada yang menyebabkan waktu henti dan potensi kehilangan data.
ForceRestart PowerShell, Visual Studio Jika Anda memperbarui konfigurasi atau paket data tanpa memperbarui kode layanan, layanan direstart hanya jika properti ForceRestart diatur ke True. Ketika pembaruan selesai, Service Fabric memberi tahu layanan bahwa paket konfigurasi atau paket data baru tersedia. Layanan ini bertanggung jawab untuk menerapkan perubahan. Jika perlu, layanan dapat merestart sendiri.
HealthCheckRetryTimeoutSec PowerShell, Visual Studio Durasi (dalam detik) bahwa Service Fabric terus melakukan evaluasi kesehatan sebelum menyatakan peningkatan sebagai gagal. Defaultnya adalah 600 detik. Durasi ini dimulai setelah HealthCheckWaitDurationSec tercapai. Dalam HealthCheckRetryTimeout ini, Service Fabric mungkin melakukan beberapa pemeriksaan kesehatan kesehatan aplikasi. Nilai default adalah 10 menit dan harus disesuaikan dengan tepat untuk aplikasi Anda.
HealthCheckStableDurationSec PowerShell, Visual Studio Durasi (dalam detik) untuk memverifikasi bahwa aplikasi stabil sebelum pindah ke domain peningkatan berikutnya atau menyelesaikan peningkatan. Durasi tunggu ini digunakan untuk mencegah perubahan kesehatan yang tidak terdeteksi tepat setelah pemeriksaan kesehatan dilakukan. Nilai default adalah 120 detik, dan harus disesuaikan dengan tepat untuk aplikasi Anda.
HealthCheckWaitDurationSec PowerShell, Visual Studio Waktu untuk menunggu (dalam detik) setelah peningkatan selesai pada domain peningkatan sebelum Service Fabric mengevaluasi kesehatan aplikasi. Durasi ini juga dapat dianggap sebagai waktu aplikasi harus berjalan sebelum dapat dianggap sehat. Jika pemeriksaan kesehatan lolos, proses peningkatan berlanjut ke domain peningkatan berikutnya. Jika pemeriksaan kesehatan gagal, Service Fabric menunggu UpgradeHealthCheckInterval sebelum mencoba kembali pemeriksaan kesehatan ulang sampai HealthCheckRetryTimeoutSec tercapai. Nilai default dan yang disarankan adalah 0 detik.
MaxPercentUnhealthyDeployedApplications PowerShell, Visual Studio Nilai default dan yang disarankan adalah 0. Tentukan jumlah maksimum aplikasi yang disebarkan (lihat bagian Kesehatan) yang mungkin tidak sehat sebelum aplikasi dianggap tidak sehat dan gagal dalam peningkatan. Parameter ini mendefinisikan kesehatan aplikasi pada node dan membantu mendeteksi masalah selama peningkatan. Biasanya, replika aplikasi mendapatkan keseimbangan beban ke node lain, yang memungkinkan aplikasi untuk tampil sehat, sehingga memungkinkan peningkatan untuk dilanjutkan. Dengan menentukan kesehatan MaxPercentUnhealthyDeployedApplications yang ketat, Service Fabric dapat mendeteksi masalah dengan paket aplikasi secara cepat dan membantu menghasilkan peningkatan cepat yang gagal.
MaxPercentUnhealthyServices PowerShell, Visual Studio Parameter untuk defaultServiceTypeHealthPolicy dan ServiceTypeHealthPolicyMap. Nilai default dan yang disarankan adalah 0. Tentukan jumlah maksimum layanan dalam instans aplikasi yang mungkin tidak sehat sebelum aplikasi dianggap tidak sehat dan gagal dalam peningkatan.
MaxPercentUnhealthyPartitionsPerService PowerShell, Visual Studio Parameter untuk defaultServiceTypeHealthPolicy dan ServiceTypeHealthPolicyMap. Nilai default dan yang disarankan adalah 0. Tentukan jumlah maksimum partisi dalam layanan yang mungkin tidak sehat sebelum layanan dianggap tidak sehat.
MaxPercentUnhealthyReplicasPerPartition PowerShell, Visual Studio Parameter untuk defaultServiceTypeHealthPolicy dan ServiceTypeHealthPolicyMap. Nilai default dan yang disarankan adalah 0. Tentukan jumlah maksimum replika dalam partisi yang mungkin tidak sehat sebelum partisi dianggap tidak sehat.
ServiceTypeHealthPolicyMap PowerShell, Visual Studio Mewakili kebijakan kesehatan yang digunakan untuk mengevaluasi kesehatan layanan yang dimiliki suatu jenis layanan. Mengambil input tabel hash dalam format berikut: @ {"ServiceTypeName" : "MaxPercentUnhealthyPartitionsPerService,MaxPercentUnhealthyReplicasPerPartition,MaxPercentUnhealthyServices"} Contohnya: @{ "ServiceTypeName01" = "5,10,5"; "ServiceTypeName02" = "5,5,5" }
TimeoutSec PowerShell , Visual Studio Menentukan periode waktu habis dalam detik untuk operasi.
UpgradeDomainTimeoutSec PowerShell, Visual Studio Waktu maksimum (dalam detik) untuk meningkatkan domain peningkatan tunggal. Jika waktu habis ini tercapai, peningkatan berhenti dan berlanjut berdasarkan pengaturan untuk FailureAction. Nilai default tidak pernah (Tak Terbatas) dan harus disesuaikan dengan tepat untuk aplikasi Anda.
UpgradeReplicaSetCheckTimeoutSec PowerShell, Visual Studio Diukur dalam hitungan detik.
Layanan stateless--Dalam satu domain peningkatan, Service Fabric mencoba memastikan bahwa instans layanan tambahan tersedia. Jika jumlah instans target lebih dari satu, Service Fabric menunggu lebih dari satu instans tersedia, hingga nilai waktu habis maksimum. Waktu habis ini ditentukan dengan menggunakan properti UpgradeReplicaSetCheckTimeoutSec. Jika waktu habis berakhir, Service Fabric melanjutkan dengan peningkatan, terlepas dari jumlah instans layanan. Jika jumlah instans target adalah satu, Service Fabric tidak menunggu, dan segera melanjutkan dengan peningkatan.

Layanan stateful--Dalam satu domain upgrade, Service Fabric mencoba memastikan bahwa replica set memiliki kuorum. Service Fabric menunggu kuorum tersedia, hingga nilai waktu habis maksimum (ditentukan oleh properti UpgradeReplicaSetCheckTimeoutSec). Jika waktu habis berakhir, Service Fabric melanjutkan dengan peningkatan, terlepas dari kuorum. Pengaturan ini diatur sebagai tidak pernah (tak terbatas) saat bergulir maju, dan 1200 detik saat bergulir mundur.
UpgradeTimeoutSec PowerShell, Visual Studio Waktu habis (dalam detik) yang berlaku untuk seluruh peningkatan. Jika waktu habis ini tercapai, peningkatan berhenti dan FailureAction dipicu. Nilai default tidak pernah (Tak Terbatas) dan harus disesuaikan dengan tepat untuk aplikasi Anda.
WhatIf PowerShell Nilai yang diperbolehkan adalah True dan False. Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.

Kriteria MaxPercentUnhealthyServices, MaxPercentUnhealthyPartitionsPerService, dan MaxPercentUnhealthyReplicasPerPartition dapat ditentukan per jenis layanan untuk instans aplikasi. Mengatur parameter per layanan ini memungkinkan aplikasi berisi berbagai jenis layanan dengan kebijakan evaluasi yang berbeda. Contohnya, jenis layanan gateway stateless dapat memiliki MaxPercentUnhealthyPartitionsPerService yang berbeda dari jenis layanan mesin yang stateful untuk instans aplikasi tertentu.

Parameter SFCTL

Peningkatan aplikasi Service Fabric yang menggunakan Service Fabric CLI menggunakan perintah sfctl application upgrade bersama dengan parameter yang diperlukan dan opsional berikut.

Parameter yang diperlukan

Parameter Deskripsi
application-id ID aplikasi yang sedang ditingkatkan.
Ini biasanya nama lengkap aplikasi tanpa skema URI 'fabric:'. Mulai dari versi 6.0, nama hierarki dibatasi dengan karakter '~'. Misalnya, jika nama aplikasi adalah ‘fabric:/myapp/app1’, identitas aplikasi akan menjadi ‘myapp~app1’ di versi 6.0+ dan ‘myapp/app1’ di versi sebelumnya.
application-version Versi jenis aplikasi yang ditargetkan oleh peningkatan.
parameter Daftar parameter aplikasi yang dikodekan JSON akan diganti untuk diterapkan saat meningkatkan aplikasi.

Parameter opsional

Parameter Deskripsi
default-service-health-policy JSON mengkodekan spesifikasi kebijakan kesehatan yang digunakan secara default untuk mengevaluasi kesehatan jenis layanan. Peta kosong secara default.
failure-action Nilai yang diperbolehkan adalah Rollback, Manual, dan Invalid. Tindakan kompensasi yang harus dilakukan saat peningkatan Monitored menemui pelanggaran kebijakan pemantauan atau kebijakan kesehatan.
Rollback menentukan bahwa peningkatan akan secara otomatis mengembalikan ke versi pra-pemutakhiran.
Manual menunjukkan bahwa peningkatan akan beralih ke mode pemutakhiran UnmonitoredManual.
Invalid menunjukkan bahwa aksi kegagalan tidak valid.
force-restart Jika Anda memperbarui konfigurasi atau paket data tanpa memperbarui kode layanan, layanan direstart hanya jika properti ForceRestart diatur ke True. Ketika pembaruan selesai, Service Fabric memberi tahu layanan bahwa paket konfigurasi atau paket data baru tersedia. Layanan ini bertanggung jawab untuk menerapkan perubahan. Jika perlu, layanan dapat merestart sendiri.
health-check-retry-timeout Jumlah waktu untuk mencoba kembali evaluasi kesehatan ketika aplikasi atau klaster tidak sehat sebelum FailureAction dijalankan. Ini pertama kali diinterpretasikan sebagai string yang mewakili durasi ISO 8601. Jika gagal, maka ditafsirkan sebagai angka yang mewakili jumlah total milidetik. Default: PT0H10M0S.
health-check-stable-duration Jumlah waktu aplikasi atau kluster harus tetap sehat sebelum peningkatan berlanjut ke domain peningkatan berikutnya. Ini pertama kali diinterpretasikan sebagai string yang mewakili durasi ISO 8601. Jika gagal, maka ditafsirkan sebagai angka yang mewakili jumlah total milidetik. Default: PT0H2M0S.
health-check-wait-duration Jumlah waktu untuk menunggu setelah menyelesaikan domain pemutakhiran sebelum menerapkan kebijakan kesehatan. Ini pertama kali diinterpretasikan sebagai string yang mewakili durasi ISO 8601. Jika gagal, maka ditafsirkan sebagai angka yang mewakili jumlah total milidetik. Default: 0.
max-unhealthy-apps Nilai default dan yang disarankan adalah 0. Tentukan jumlah maksimum aplikasi yang disebarkan (lihat bagian Kesehatan) yang mungkin tidak sehat sebelum aplikasi dianggap tidak sehat dan gagal dalam peningkatan. Parameter ini mendefinisikan kesehatan aplikasi pada node dan membantu mendeteksi masalah selama peningkatan. Biasanya, replika aplikasi mendapatkan keseimbangan beban ke node lain, yang memungkinkan aplikasi untuk tampil sehat, sehingga memungkinkan peningkatan untuk dilanjutkan. Dengan menentukan kesehatan max-unhealthy-apps yang ketat, Service Fabric dapat mendeteksi masalah dengan paket aplikasi secara cepat dan membantu menghasilkan peningkatan cepat yang gagal. Dinyatakan sebagai angka antara 0 dan 100.
mode Nilai yang diizinkan adalah Monitored, UpgradeMode, UnmonitoredAuto, UnmonitoredManual. Defaultnya adalah UnmonitoredAuto. Lihat bagian Parameter yang Diperlukan Visual Studio dan PowerShell untuk deskripsi nilai ini.
replica-set-check-timeout Diukur dalam hitungan detik.
Layanan stateless--Dalam satu domain peningkatan, Service Fabric mencoba memastikan bahwa instans layanan tambahan tersedia. Jika jumlah instans target lebih dari satu, Service Fabric menunggu lebih dari satu instans tersedia, hingga nilai waktu habis maksimum. Waktu habis ini ditentukan dengan menggunakan properti replica-set-check-timeout. Jika waktu habis berakhir, Service Fabric melanjutkan dengan peningkatan, terlepas dari jumlah instans layanan. Jika jumlah instans target adalah satu, Service Fabric tidak menunggu, dan segera melanjutkan dengan peningkatan.

Layanan stateful--Dalam satu domain upgrade, Service Fabric mencoba memastikan bahwa replica set memiliki kuorum. Service Fabric menunggu kuorum tersedia, hingga nilai waktu habis maksimum (ditentukan oleh properti replica-set-check-timeout). Jika waktu habis berakhir, Service Fabric melanjutkan dengan peningkatan, terlepas dari kuorum. Pengaturan ini diatur sebagai tidak pernah (tak terbatas) saat bergulir maju, dan 1200 detik saat bergulir mundur.
kebijakan-layanan-kesehatan Peta berkode JSON dengan kebijakan kesehatan jenis layanan per nama jenis layanan. Peta kosong menjadi default. Format parameter JSON.. JSON untuk bagian "Nilai" mengandung MaxPercentUnhealthyServices, MaxPercentUnhealthyPartitionsPerService, dan MaxPercentUnhealthyReplicasPerPartition. Lihat bagian Parameter Opsional Visual Studio dan PowerShell untuk deskripsi parameter ini.
waktu habis Menentukan periode waktu habis dalam detik untuk operasi. Default: 60.
upgrade-domain-timeout Jumlah waktu setiap domain peningkatan harus diselesaikan sebelum FailureAction dijalankan. Ini pertama kali diinterpretasikan sebagai string yang mewakili durasi ISO 8601. Jika gagal, maka ditafsirkan sebagai angka yang mewakili jumlah total milidetik. Nilai default tidak pernah (Tak Terbatas) dan harus disesuaikan dengan tepat untuk aplikasi Anda. Default: P10675199DT02H48M05.4775807S.
upgrade-timeout Jumlah waktu setiap domain peningkatan harus diselesaikan sebelum FailureAction dijalankan. Ini pertama kali diinterpretasikan sebagai string yang mewakili durasi ISO 8601. Jika gagal, maka ditafsirkan sebagai angka yang mewakili jumlah total milidetik. Nilai default tidak pernah (Tak Terbatas) dan harus disesuaikan dengan tepat untuk aplikasi Anda. Default: P10675199DT02H48M05.4775807S.
warning-as-error Nilai yang diperbolehkan adalah True dan False. Nilai default adalah False. Dapat dikirim sebagai bendera. Perlakukan peristiwa kesehatan peringatan untuk aplikasi sebagai kesalahan saat mengevaluasi kesehatan aplikasi selama peningkatan. Secara default, Service Fabric tidak mengevaluasi peristiwa kesehatan peringatan menjadi kegagalan (kesalahan), sehingga peningkatan dapat dilanjutkan bahkan jika ada peristiwa peringatan.

Langkah berikutnya

Meningkatkan Aplikasi Anda Menggunakan Visual Studio memandu Anda melalui peningkatan aplikasi menggunakan Visual Studio.

Meningkatkan Aplikasi Anda Menggunakan PowerShell memandu Anda melalui peningkatan aplikasi menggunakan PowerShell.

Meningkatkan Aplikasi Anda menggunakan Service Fabric CLI di Linux memandu Anda melalui peningkatan aplikasi menggunakan Service Fabric CLI.

Meningkatkan aplikasi Anda menggunakan Plugin Service Fabric Eclipse

Buat agar peningkatan aplikasi Anda kompatibel dengan mempelajari cara menggunakan Serialisasi Data.

Pelajari cara menggunakan fungsionalitas lanjutan saat meningkatkan aplikasi dengan merujuk ke Topik Lanjutan.

Perbaiki masalah umum dalam peningkatan aplikasi dengan mengacu pada langkah-langkah dalam Pemecahan Masalah Peningkatan Aplikasi.