Aktifkan rollback sistem untuk Layanan Terkelola Anda untuk aplikasi Apache Flink - Layanan Terkelola untuk Apache Flink

Amazon Managed Service untuk Apache Flink sebelumnya dikenal sebagai Amazon Kinesis Data Analytics untuk Apache Flink.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Aktifkan rollback sistem untuk Layanan Terkelola Anda untuk aplikasi Apache Flink

Dengan kemampuan system-rollback, Anda dapat mencapai ketersediaan yang lebih tinggi dari aplikasi Apache Flink yang sedang berjalan di Amazon Managed Service untuk Apache Flink. Memilih ke konfigurasi ini memungkinkan layanan untuk secara otomatis mengembalikan aplikasi ke versi yang berjalan sebelumnya ketika tindakan seperti UpdateApplication atau autoscaling berjalan ke kode atau konfigurasi bug.

catatan

Untuk menggunakan fitur rollback sistem, Anda harus ikut serta dengan memperbarui aplikasi Anda. Aplikasi yang ada tidak akan secara otomatis menggunakan rollback sistem secara default.

Cara kerjanya

Saat Anda memulai operasi aplikasi, seperti tindakan pembaruan atau penskalaan, Amazon Managed Service untuk Apache Flink pertama kali mencoba menjalankan operasi tersebut. Jika mendeteksi masalah yang mencegah operasi berhasil, seperti bug kode atau izin yang tidak memadai, layanan secara otomatis memulai operasi. RollbackApplication

Rollback mencoba mengembalikan aplikasi ke versi sebelumnya yang berhasil berjalan, bersama dengan status aplikasi terkait. Jika rollback berhasil, aplikasi Anda terus memproses data dengan downtime minimal menggunakan versi sebelumnya. Jika rollback otomatis juga gagal, Amazon Managed Service untuk Apache Flink mentransisikan aplikasi ke READY status, sehingga Anda dapat mengambil tindakan lebih lanjut, termasuk memperbaiki kesalahan dan mencoba kembali operasi.

Anda harus memilih untuk menggunakan rollback sistem otomatis. Anda dapat mengaktifkannya menggunakan konsol atau API untuk semua operasi pada aplikasi Anda mulai saat ini.

Contoh permintaan berikut untuk UpdateApplication tindakan memungkinkan rollback sistem untuk aplikasi:

{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 1, "ApplicationConfigurationUpdate": { "ApplicationSystemRollbackConfigurationUpdate": { "RollbackEnabledUpdate": "true" } } }

Tinjau skenario umum untuk rollback sistem otomatis

Skenario berikut menggambarkan di mana kemunduran sistem otomatis bermanfaat:

  • Pembaruan aplikasi: Jika Anda memperbarui aplikasi Anda dengan kode baru yang memiliki bug saat menginisialisasi pekerjaan Flink melalui metode utama, rollback otomatis memungkinkan versi kerja sebelumnya dipulihkan. Skenario pembaruan lain di mana rollback sistem membantu meliputi:

    • Jika aplikasi Anda diperbarui untuk dijalankan dengan paralelisme yang lebih tinggi dari. maxParallelism

    • Jika aplikasi Anda diperbarui untuk berjalan dengan subnet yang salah untuk VPC aplikasi yang mengakibatkan kegagalan selama startup pekerjaan Flink.

  • Peningkatan versi Flink: Saat Anda meningkatkan ke versi Apache Flink baru dan aplikasi yang ditingkatkan mengalami masalah kompatibilitas snapshot, rollback sistem memungkinkan Anda kembali ke versi Flink sebelumnya secara otomatis.

  • AutoScaling: Saat aplikasi meningkatkan skala tetapi mengalami masalah pemulihan dari savepoint, karena ketidakcocokan operator antara snapshot dan grafik pekerjaan Flink.

Gunakan operasi APIs untuk rollback sistem

Untuk memberikan visibilitas yang lebih baik, Amazon Managed Service untuk Apache Flink memiliki dua yang APIs terkait dengan operasi aplikasi yang dapat membantu Anda melacak kegagalan dan rollback sistem terkait.

ListApplicationOperations

Ini API mencantumkan semua operasi yang dilakukan pada aplikasi, termasukUpdateApplication,,Maintenance,RollbackApplication, dan lainnya dalam urutan kronologis terbalik. Contoh permintaan berikut untuk ListApplicationOperations tindakan mencantumkan 10 operasi aplikasi pertama untuk aplikasi:

{ "ApplicationName": "MyApplication", "Limit": 10 }

Contoh permintaan bantuan berikut ListApplicationOperations ini memfilter daftar ke pembaruan sebelumnya pada aplikasi:

{ "ApplicationName": "MyApplication", "operation": "UpdateApplication" }

DescribeApplicationOperation

Ini API memberikan informasi rinci tentang operasi tertentu yang tercantum olehListApplicationOperations, termasuk alasan kegagalan, jika berlaku. Contoh permintaan berikut untuk DescribeApplicationOperation tindakan mencantumkan rincian untuk operasi aplikasi tertentu:

{ "ApplicationName": "MyApplication", "OperationId": "xyzoperation" }

Untuk informasi pemecahan masalah, lihat Praktik terbaik rollback sistem.