Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gulung kembali ke KCL versi sebelumnya
Topik ini menjelaskan langkah-langkah untuk mengembalikan konsumen Anda kembali ke versi sebelumnya. Ketika Anda perlu memutar kembali, ada proses dua langkah:
-
Jalankan Alat KCL Migrasi
. -
Menerapkan ulang kode KCL versi sebelumnya (opsional).
Langkah 1: Jalankan Alat KCL Migrasi
Ketika Anda perlu memutar kembali ke KCL versi sebelumnya, Anda harus menjalankan Alat KCL Migrasi. Alat KCL Migrasi melakukan dua tugas penting:
-
Ini menghapus tabel metadata yang disebut tabel metrik pekerja dan indeks sekunder global pada tabel sewa di DynamoDB. Kedua artefak ini dibuat oleh KCL 3.x tetapi tidak diperlukan saat Anda memutar kembali ke versi sebelumnya.
Itu membuat semua pekerja berjalan dalam mode yang kompatibel dengan KCL 2.x dan mulai menggunakan algoritma load balancing yang digunakan dalam versi sebelumnyaKCL. Jika Anda memiliki masalah dengan algoritme penyeimbangan beban baru di KCL 3.x, ini akan segera mengurangi masalah.
penting
Tabel status koordinator di DynamoDB harus ada dan tidak boleh dihapus selama proses migrasi, rollback, dan rollforward.
catatan
Sangat penting bahwa semua pekerja dalam aplikasi konsumen Anda menggunakan algoritma load balancing yang sama pada waktu tertentu. Alat KCL Migrasi memastikan bahwa semua pekerja di aplikasi konsumen KCL 3.x Anda beralih ke mode yang kompatibel KCL 2.x sehingga semua pekerja menjalankan algoritme penyeimbangan beban yang sama selama pelunasan bergulir kembali ke versi sebelumnya. KCL
Anda dapat mengunduh Alat KCL Migrasi
python3 ./KclMigrationTool.py --region <region> --mode rollback [--application_name <applicationName>] [--lease_table_name <leaseTableName>] [--coordinator_state_table_name <coordinatorStateTableName>] [--worker_metrics_table_name <workerMetricsTableName>]
Parameter
-
--region: Ganti
<region>
dengan Anda Wilayah AWS. -
--application_name: Parameter ini diperlukan jika Anda menggunakan nama default untuk tabel metadata DynamoDB Anda (tabel sewa, tabel status koordinator, dan tabel metrik pekerja). Jika Anda telah menentukan nama kustom untuk tabel ini, Anda dapat menghilangkan parameter ini. Ganti
<applicationName>
dengan nama KCL aplikasi Anda yang sebenarnya. Alat ini menggunakan nama ini untuk mendapatkan nama tabel default jika nama kustom tidak disediakan. -
--lease_table_name (opsional): Parameter ini diperlukan ketika Anda telah menetapkan nama kustom untuk tabel sewa dalam konfigurasi Anda. KCL Jika Anda menggunakan nama tabel default, Anda dapat menghilangkan parameter ini. Ganti
leaseTableName
dengan nama tabel kustom yang Anda tentukan untuk tabel sewa Anda. -
--coordinator_state_table_name (opsional): Parameter ini diperlukan ketika Anda telah menetapkan nama kustom untuk tabel status koordinator dalam konfigurasi Anda. KCL Jika Anda menggunakan nama tabel default, Anda dapat menghilangkan parameter ini. Ganti
<coordinatorStateTableName>
dengan nama tabel kustom yang Anda tentukan untuk tabel status koordinator Anda. -
--worker_metrics_table_name (opsional): Parameter ini diperlukan ketika Anda telah menetapkan nama kustom untuk tabel metrik pekerja dalam konfigurasi Anda. KCL Jika Anda menggunakan nama tabel default, Anda dapat menghilangkan parameter ini. Ganti
<workerMetricsTableName>
dengan nama tabel kustom yang Anda tentukan untuk tabel metrik pekerja Anda.
Langkah 2: Menerapkan ulang kode dengan KCL versi sebelumnya (opsional)
Setelah menjalankan KCL Migration Tool untuk rollback, Anda akan melihat salah satu pesan berikut:
-
Pesan 1: “Rollback selesai. KCLAplikasi Anda menjalankan mode kompatibel KCL 2.x. Jika Anda tidak melihat mitigasi regresi apa pun, harap kembalikan ke binari aplikasi Anda sebelumnya dengan menerapkan kode dengan versi sebelumnya.” KCL
-
Tindakan yang diperlukan: Ini berarti pekerja Anda berjalan dalam mode kompatibel KCL 2.x. Jika masalah berlanjut, terapkan ulang kode dengan KCL versi sebelumnya ke pekerja Anda.
-
-
Pesan 2: “Rollback selesai. KCLAplikasi Anda menjalankan mode fungsionalitas KCL 3.x. Rollback ke binari aplikasi sebelumnya tidak diperlukan, kecuali jika Anda tidak melihat mitigasi untuk masalah ini dalam waktu 5 menit. Jika Anda masih memiliki masalah, harap kembalikan ke binari aplikasi Anda sebelumnya dengan menerapkan kode dengan versi sebelumnya.” KCL
-
Tindakan yang diperlukan: Ini berarti pekerja Anda berjalan dalam mode KCL 3.x dan Alat KCL Migrasi mengalihkan semua pekerja ke mode kompatibel KCL 2.x. Jika masalah teratasi, Anda tidak perlu menerapkan ulang kode dengan versi sebelumnyaKCL. Jika masalah berlanjut, terapkan ulang kode dengan KCL versi sebelumnya ke pekerja Anda.
-