Bagikan melalui


Parameter peningkatan aplikasi

Artikel ini menjelaskan berbagai parameter yang berlaku selama peningkatan aplikasi Azure Service Fabric. Parameter peningkatan aplikasi mengontrol penghentian waktu dan cek kesehatan yang diterapkan selama peningkatan, serta menentukan kebijakan yang harus diterapkan ketika peningkatan gagal. Parameter aplikasi diterapkan pada proses peningkatan dengan 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:

  • Dipantau
  • Sistem Otomatis Tanpa Pengawasan
  • Manual Yang Tidak Dimonitor

Parameter wajib 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 memasukkan 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 dapat dipilih menggunakan kotak dropdown Mode Peningkatan untuk memilih Monitored, UnmonitoredAuto, atau UnmonitoredManual. Untuk informasi selengkapnya, lihat Mengonfigurasi peningkatan aplikasi Service Fabric di Visual Studio.

Parameter yang diperlukan

Pengaturan Berlaku Pada Deskripsi
Nama Aplikasi PowerShell Nama aplikasi yang sedang ditingkatkan. Contoh: fabric:/VisualObjects, fabric:/ClusterMonitor.
VersiTipeAplikasi PowerShell Versi dari jenis aplikasi yang menjadi target peningkatan.
Tindakan Pada Kegagalan PowerShell, Visual Studio Nilai yang diizinkan adalah Putar Kembali, Manual, dan Tidak Valid. Tindakan kompensasi yang harus dilakukan ketika peningkatan Yang Dipantau mengalami kebijakan pemantauan atau pelanggaran kebijakan kesehatan.
Rollback menentukan bahwa peningkatan akan secara otomatis kembali ke versi sebelum peningkatan.
Manual menunjukkan bahwa pembaruan akan beralih ke mode pembaruan UnmonitoredManual.
Tidak valid menunjukkan bahwa tindakan kegagalan tidak valid.
Dipantau PowerShell Menunjukkan bahwa mode peningkatan dipantau. Setelah cmdlet menyelesaikan peningkatan untuk domain peningkatan, jika kesehatan domain peningkatan dan kluster memenuhi kebijakan kesehatan yang Anda tentukan, Service Fabric akan meningkatkan domain peningkatan berikutnya. Jika domain atau kluster 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.
Mode Peningkatan Visual Studio Nilai yang diizinkan dipantau (default), UnmonitoredAuto, atau UnmonitoredManual. Lihat Parameter PowerShell untuk setiap mode di artikel ini untuk detailnya.
UnmonitoredAuto PowerShell Menunjukkan bahwa mode peningkatan tidak dimonitor secara otomatis. Setelah Service Fabric memperbarui domain pembaruan, Service Fabric memperbarui domain pembaruan berikutnya tanpa mempedulikan status kesehatan aplikasi. Mode ini tidak disarankan untuk produksi, dan hanya berguna selama pengembangan aplikasi.
Manual Tidak Diawasi PowerShell Menunjukkan bahwa mode peningkatan tidak dimonitor manual. Setelah Service Fabric menyelesaikan peningkatan pada sebuah domain, Service Fabric menunggu Anda melakukan peningkatan pada domain upgrade 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 dalam ApplicationManifest.xml instans aplikasi.

Pengaturan Berlaku Pada Deskripsi
ApplicationParameter PowerShell, Visual Studio Menentukan pengaturan ulang untuk parameter aplikasi.
Parameter aplikasi PowerShell ditentukan sebagai pasangan nama/nilai yang dapat di-hashtable. Misalnya, @{ "VotingData_MinReplicaSetSize" = "3"; "VotingData_PartitionCount" = "1" }.
Parameter aplikasi Visual Studio dapat ditentukan dalam dialog Terbitkan Aplikasi Service Fabric di bidang File Parameter Aplikasi .
Konfirmasi PowerShell Nilai yang diizinkan adalah True dan False. Meminta konfirmasi sebelum menjalankan cmdlet.
PertimbangkanWarningAsError PowerShell, Visual Studio Nilai yang diizinkan adalah True dan False. Nilai default adalah False. Perlakukan peringatan terkait kesehatan aplikasi sebagai kesalahan dalam evaluasi kesehatan aplikasi selama proses peningkatan. Secara default, Service Fabric tidak mengevaluasi peristiwa kesehatan peringatan menjadi kegagalan (kesalahan), sehingga peningkatan dapat dilanjutkan meskipun ada peristiwa peringatan.
Kebijakan Kesehatan Tipe Layanan Default PowerShell, Visual Studio Menentukan kebijakan kesehatan untuk jenis layanan default yang akan digunakan untuk peningkatan yang dipantau dalam format MaxPercentUnhealthyPartitionsPerService, MaxPercentUnhealthyReplicasPerPartition, MaxPercentUnhealthyServices. Misalnya, 5,10,15 menunjukkan nilai-nilai berikut: MaxPercentUnhealthyPartitionsPerService = 5, MaxPercentUnhealthyReplicasPerPartition = 10, MaxPercentUnhealthyServices = 15.
Kekuatan PowerShell, Visual Studio Nilai yang diizinkan adalah True dan False. Menunjukkan bahwa proses peningkatan melewati pesan peringatan dan memaksa peningkatan bahkan ketika nomor versi belum berubah. Ini berguna untuk pengujian lokal tetapi tidak disarankan untuk digunakan di lingkungan produksi karena memerlukan penghapusan penyebaran yang ada yang menyebabkan waktu henti dan potensi kehilangan data.
PaksaMulaiUlang PowerShell, Visual Studio Jika Anda memperbarui konfigurasi atau paket data tanpa memperbarui kode layanan, layanan dimulai ulang 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 menghidupkan ulang sendiri.
HealthCheckRetryTimeoutSec PowerShell, Visual Studio Durasi (dalam detik) saat Service Fabric terus melakukan evaluasi kesehatan sebelum menyatakan bahwa peningkatan telah gagal. Defaultnya adalah 600 detik. Durasi ini dimulai setelah HealthCheckWaitDurationSec tercapai. Dalam HealthCheckRetryTimeout ini, Service Fabric mungkin melakukan beberapa pemeriksaan kesehatan kesehatan aplikasi. Nilai defaultnya 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 defaultnya adalah 120 detik, dan harus disesuaikan dengan tepat untuk aplikasi Anda.
DurasiMenungguPemeriksaanKesehatanDetik PowerShell, Visual Studio Waktu tunggu (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 lagi hingga HealthCheckRetryTimeoutSec tercapai. Nilai default dan yang direkomendasikan adalah 0 detik.
MaxPercentUnhealthyDeployedApplications PowerShell, Visual Studio Nilai default dan yang direkomendasikan adalah 0. Tentukan jumlah maksimum aplikasi yang disebarkan (lihat bagian Kesehatan) yang dapat tidak sehat sebelum aplikasi dianggap tidak sehat dan gagal meningkatkan. Parameter ini menentukan kesehatan aplikasi pada simpul dan membantu mendeteksi masalah selama peningkatan. Biasanya, replika aplikasi diseimbangkan beban ke node lain, yang membuat aplikasi terlihat sehat, sehingga pembaruan bisa dilanjutkan. Dengan menentukan standar kesehatan MaxPercentUnhealthyDeployedApplications yang ketat, Service Fabric dapat mendeteksi masalah dengan paket aplikasi dengan cepat dan membantu menghasilkan proses peningkatan yang cepat dan efisien.
MaxPercentUnhealthyServices PowerShell, Visual Studio Parameter ke DefaultServiceTypeHealthPolicy dan ServiceTypeHealthPolicyMap. Nilai default dan yang direkomendasikan adalah 0. Tentukan jumlah maksimum layanan dalam instans aplikasi yang dapat tidak sehat sebelum aplikasi dianggap tidak sehat dan gagal meningkatkan.
Persentase Maksimum Partisi Tidak Sehat per Layanan PowerShell, Visual Studio Parameter ke DefaultServiceTypeHealthPolicy dan ServiceTypeHealthPolicyMap. Nilai default dan yang direkomendasikan adalah 0. Tentukan jumlah maksimum partisi dalam layanan yang bisa tidak sehat sebelum layanan dianggap tidak sehat.
PersentaseMaksimumReplikaTidakSehatPerPartisi PowerShell, Visual Studio Parameter ke DefaultServiceTypeHealthPolicy dan ServiceTypeHealthPolicyMap. Nilai default dan yang direkomendasikan adalah 0. Tentukan jumlah maksimum replika dalam partisi yang bisa tidak sehat sebelum partisi dianggap tidak sehat.
PetaKebijakanKesehatanJenisLayanan PowerShell, Visual Studio Mewakili kebijakan kesehatan yang digunakan untuk mengevaluasi kesehatan layanan milik jenis layanan. Menerima input tabel hash dalam format berikut: @ {"ServiceTypeName" : "MaxPercentUnhealthyPartitionsPerService,MaxPercentUnhealthyReplicasPerPartition,MaxPercentUnhealthyServices"} Contoh: @{ "ServiceTypeName01" = "5,10,5"; "ServiceTypeName02" = "5,5,5" }
TimeoutSec PowerShell , Visual Studio Menentukan batas waktu dalam detik untuk operasi.
UpgradeDomainTimeoutSec PowerShell, Visual Studio Waktu maksimum (dalam detik) untuk meningkatkan satu domain pembaruan. Jika batas waktu ini tercapai, peningkatan akan 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 tambahan layanan tersedia. Jika jumlah instans target lebih dari satu, Service Fabric menunggu hingga lebih dari satu instans tersedia, sampai mencapai batas waktu maksimum. Waktu habis ini ditentukan dengan menggunakan properti UpgradeReplicaSetCheckTimeoutSec . Jika batas waktu habis, Service Fabric melanjutkan peningkatan tanpa memperhatikan jumlah instans layanan. Jika jumlah instans target adalah satu, Service Fabric tidak menunggu, dan segera melanjutkan peningkatan.

Layanan stateful--Pada satu domain pembaruan, Service Fabric mencoba memastikan bahwa set replika memiliki kuorum. Service Fabric menunggu kuorum dapat tersedia hingga batas waktu maksimum yang ditentukan oleh properti UpgradeReplicaSetCheckTimeoutSec. Jika batas waktu berakhir, Service Fabric melanjutkan proses peningkatan, terlepas dari kuorum. Pengaturan ini diatur sebagai tidak pernah (tak terbatas) saat bergulir ke depan, dan 1200 detik saat digulung balik.
UpgradeTimeoutSec PowerShell, Visual Studio Batas waktu (dalam detik) yang diterapkan selama seluruh proses peningkatan. Jika batas waktu 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 diizinkan adalah True dan False. Menunjukkan apa yang akan terjadi ketika cmdlet dijalankan. Cmdlet tidak dijalankan.

Kriteria MaxPercentUnhealthyServices, MaxPercentUnhealthyPartitionsPerService, dan MaxPercentUnhealthyReplicasPerPartition dapat ditentukan per jenis layanan untuk instans aplikasi. Mengatur parameter per layanan ini memungkinkan aplikasi berisi jenis layanan yang berbeda dengan kebijakan evaluasi yang berbeda. Misalnya, jenis layanan gerbang tanpa status dapat memiliki MaxPercentUnhealthyPartitionsPerService yang berbeda dari jenis layanan mesin berstatus untuk instans aplikasi tertentu.

Parameter SFCTL

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

Parameter yang diperlukan

Pengaturan Deskripsi
ID aplikasi ID aplikasi yang sedang ditingkatkan.
Ini biasanya nama lengkap aplikasi tanpa skema URI 'fabric:'. Mulai dari versi 6.0, nama hierarkis dibatasi dengan karakter '~'. Misalnya, jika nama aplikasi adalah 'fabric:/myapp/app1', identitas aplikasi akan menjadi 'myapp~app1' di 6.0+ dan 'myapp/app1' di versi sebelumnya.
versi aplikasi Versi dari jenis aplikasi yang menjadi sasaran peningkatan.
parameter Daftar parameter aplikasi yang dikodekan dalam JSON untuk menggantikan parameter yang ada dan akan diterapkan saat aplikasi ditingkatkan.

Parameter opsional

Pengaturan Deskripsi
kebijakan kesehatan layanan default Spesifikasi JSON yang terenkode dari kebijakan kesehatan yang digunakan secara default untuk mengevaluasi kesehatan suatu jenis layanan. Peta kosong secara default.
aksi penanggulangan kegagalan Nilai yang diizinkan adalah Putar Kembali, Manual, dan Tidak Valid. Tindakan kompensasi yang harus dilakukan ketika peningkatan Yang Dipantau mengalami kebijakan pemantauan atau pelanggaran kebijakan kesehatan.
Rollback menentukan bahwa peningkatan akan dikembalikan secara otomatis ke versi pra-peningkatan.
Manual menunjukkan bahwa pembaruan akan beralih ke mode UnmonitoredManual.
Tidak valid menunjukkan bahwa tindakan kegagalan tidak valid.
mulai ulang paksa Jika Anda memperbarui konfigurasi atau paket data tanpa memperbarui kode layanan, layanan dimulai ulang 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 dihidupkan ulang sendiri.
batas waktu coba lagi pemeriksaan kesehatan Jumlah waktu untuk mencoba kembali evaluasi kesehatan ketika aplikasi atau kluster tidak sehat sebelum FailureAction dijalankan. Ini pertama-tama ditafsirkan sebagai string yang mewakili durasi ISO 8601. Jika gagal, maka itu ditafsirkan sebagai angka yang mewakili jumlah total milidetik. Default: PT0H10M0S.
durasi pemeriksaan kesehatan stabil Jumlah waktu aplikasi atau kluster harus tetap sehat sebelum peningkatan berlanjut ke domain peningkatan berikutnya. Ini pertama-tama ditafsirkan sebagai string yang mewakili durasi ISO 8601. Jika gagal, maka itu ditafsirkan sebagai angka yang mewakili jumlah total milidetik. Default: PT0H2M0S.
durasi tunggu pemeriksaan kesehatan Jumlah waktu yang harus ditunggu setelah menyelesaikan peningkatan dalam sebuah domain sebelum menerapkan kebijakan kesehatan. Ini pertama-tama ditafsirkan sebagai string yang mewakili durasi ISO 8601. Jika gagal, maka itu ditafsirkan sebagai angka yang mewakili jumlah total milidetik. Bawaan: 0.
maksimum-aplikasi-tidak-sehat Nilai default dan yang direkomendasikan adalah 0. Tentukan jumlah maksimum aplikasi yang disebarkan (lihat bagian Kesehatan) yang dapat tidak sehat sebelum aplikasi dianggap tidak sehat dan gagal meningkatkan. Parameter ini menentukan kesehatan aplikasi pada simpul dan membantu mendeteksi masalah selama peningkatan. Biasanya, replika aplikasi dilakukan penyeimbangan beban ke node lain, yang membuat aplikasi tampak sehat, sehingga peningkatan dapat dilanjutkan. Dengan menentukan kesehatan max-unhealthy-apps yang ketat, Service Fabric dapat mendeteksi masalah dengan paket aplikasi dengan cepat dan membantu menghasilkan peningkatan cepat yang gagal. Dinyatakan sebagai angka antara 0 dan 100.
modus Nilai yang diizinkan adalah Dipantau, ModePembaruan, OtomatisTidakDipantau, ManualTidakDipantau. Defaultnya adalah UnmonitoredAuto. Lihat bagian Parameter yang Diperlukan Visual Studio dan PowerShell untuk deskripsi nilai-nilai ini.
batas-waktu-pemeriksaan-set-replika Diukur dalam hitungan detik.
Layanan stateless--Dalam satu domain peningkatan, Service Fabric mencoba memastikan bahwa instans tambahan layanan tersedia. Jika jumlah instans target lebih dari satu, Service Fabric menunggu lebih dari satu instans tersedia, hingga nilai batas waktu maksimum. Batas waktu ini ditentukan dengan menggunakan properti replica-set-check-timeout . Jika waktu habis, Service Fabric melanjutkan peningkatan, terlepas dari jumlah instans layanan. Jika jumlah instans target adalah satu, Service Fabric tidak menunggu, dan segera melanjutkan peningkatan.

Layanan stateful--Dalam satu upgrade domain, Service Fabric mencoba memastikan bahwa set replika memiliki kuorum. Service Fabric menunggu kuorum tersedia, hingga nilai batas waktu maksimum (ditentukan oleh properti replica-set-check-timeout ). Jika waktu habis, Service Fabric melanjutkan peningkatan tanpa mempedulikan kuorum. Pengaturan ini diatur sebagai tidak pernah (tak terbatas) saat bergulir ke depan, dan 1200 detik saat digulung balik.
kebijakan kesehatan layanan Peta yang dikodekan dalam JSON dengan kebijakan kesehatan untuk setiap jenis layanan berdasarkan nama jenis layanan. Peta kosong secara default. Parameter format JSON.. JSON untuk bagian "Nilai" berisi MaxPercentUnhealthyServices, MaxPercentUnhealthyPartitionsPerService, dan MaxPercentUnhealthyReplicasPerPartition. Lihat bagian Parameter Opsional Visual Studio dan PowerShell untuk deskripsi parameter ini.
Batas Waktu Menentukan durasi batas waktu dalam detik untuk operasi. Bawaan: 60.
upgrade-domain-timeout Jumlah waktu setiap domain peningkatan harus diselesaikan sebelum FailureAction dijalankan. Ini pertama-tama ditafsirkan sebagai string yang mewakili durasi ISO 8601. Jika gagal, maka itu 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-tama ditafsirkan sebagai string yang mewakili durasi ISO 8601. Jika gagal, maka itu 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.
peringatan sebagai kesalahan Nilai yang diizinkan adalah True dan False. Nilai default adalah False. Dapat diteruskan sebagai bendera. Perlakukan peringatan terkait kesehatan untuk aplikasi sebagai kesalahan saat mengevaluasi kesehatan aplikasi selama proses peningkatan. Secara default, Service Fabric tidak mengevaluasi peristiwa kesehatan peringatan menjadi kegagalan (kesalahan), sehingga peningkatan dapat dilanjutkan meskipun ada peristiwa peringatan.

Langkah selanjutnya

Memutakhirkan Aplikasi Anda Menggunakan Visual Studio membimbing Anda dalam proses peningkatan aplikasi menggunakan Visual Studio.

Memutakhirkan Aplikasi Anda Menggunakan PowerShell memandu Anda melalui pemutakhiran 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 peningkatan aplikasi Anda kompatibel dengan mempelajari cara menggunakan Serialisasi Data.

Pelajari cara menggunakan fungsionalitas tingkat lanjut saat meningkatkan aplikasi Anda dengan merujuk ke Topik Tingkat Lanjut.

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