Ketahanan dalam Aliran Data Amazon Kinesis - Amazon Kinesis Data Streams

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

Ketahanan dalam Aliran Data Amazon Kinesis

Bagian AWS Infrastruktur global dibangun di sekitar AWS Wilayah dan Zona Ketersediaan. AWS Wilayah menyediakan beberapa Zona Ketersediaan yang terpisah dan terisolasi secara fisik, yang terhubung dengan jaringan latensi rendah, throughput tinggi, dan sangat redundan. Dengan Zona Ketersediaan, Anda dapat merancang serta mengoperasikan aplikasi dan basis data yang secara otomatis melakukan failover di antara Zona Ketersediaan tanpa gangguan. Zona Ketersediaan memiliki ketersediaan dan toleransi kesalahan yang lebih baik, dan dapat diskalakan dibandingkan infrastruktur biasa yang terdiri dari satu atau beberapa pusat data.

Untuk informasi lebih lanjut tentang AWS Wilayah dan Availability Zone, lihat AWS Infrastruktur Global.

Selain AWS Infrastruktur global, Kinesis Data Streams menawarkan beberapa fitur untuk membantu mendukung ketahanan data dan kebutuhan pencadangan Anda.

Pemulihan bencana di Amazon Kinesis Data Streams

Kegagalan dapat terjadi pada level berikut saat Anda menggunakan aplikasi Amazon Kinesis Data Streams untuk memproses data dari aliran:

  • Prosesor rekaman bisa gagal

  • Seorang pekerja bisa gagal, atau instance aplikasi yang membuat instance pekerja bisa gagal

  • Sebuah EC2 instance yang menghosting satu atau lebih instance aplikasi bisa gagal

Rekam kegagalan prosesor

Pekerja memanggil metode prosesor rekaman menggunakan ExecutorServicetugas Java. Jika tugas gagal, pekerja mempertahankan kendali pecahan yang diproses oleh prosesor rekaman. Pekerja memulai tugas prosesor rekaman baru untuk memproses pecahan itu. Untuk informasi selengkapnya, lihat Baca pelambatan.

Kegagalan pekerja atau aplikasi

Jika pekerja—atau instance aplikasi Amazon Kinesis Data Streams—gagal, Anda harus mendeteksi dan menangani situasi tersebut. Misalnya, jika Worker.run metode melempar pengecualian, Anda harus menangkap dan menanganinya.

Jika aplikasi itu sendiri gagal, Anda harus mendeteksi ini dan memulai ulang. Ketika aplikasi dijalankan, itu membuat instance pekerja baru, yang pada gilirannya membuat instance prosesor rekaman baru yang secara otomatis diberi pecahan untuk diproses. Ini bisa berupa pecahan yang sama yang diproses oleh prosesor rekaman ini sebelum kegagalan, atau pecahan yang baru bagi prosesor ini.

Dalam situasi di mana pekerja atau aplikasi gagal, kegagalan tidak terdeteksi, dan ada contoh lain dari aplikasi yang berjalan pada EC2 instance lain, pekerja pada instance lain ini menangani kegagalan. Mereka membuat prosesor rekaman tambahan untuk memproses pecahan yang tidak lagi diproses oleh pekerja yang gagal. Beban pada EC2 instans lain ini meningkat sesuai.

Skenario yang dijelaskan di sini mengasumsikan bahwa meskipun pekerja atau aplikasi telah gagal, EC2 instance hosting masih berjalan dan oleh karena itu tidak dimulai ulang oleh grup Auto Scaling.

Kegagalan EC2 instans Amazon

Kami menyarankan Anda menjalankan EC2 instance untuk aplikasi Anda dalam grup Auto Scaling. Dengan cara ini, jika salah satu EC2 instance gagal, grup Auto Scaling secara otomatis meluncurkan instance baru untuk menggantikannya. Anda harus mengonfigurasi instance untuk meluncurkan aplikasi Amazon Kinesis Data Streams saat startup.