View a markdown version of this page

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

Infrastruktur AWS global dibangun di sekitar Wil AWS ayah dan Zona Ketersediaan. AWS Wilayah menyediakan beberapa Zona Ketersediaan yang terpisah secara fisik dan terisolasi, yang terhubung dengan latensi rendah, throughput tinggi, dan jaringan yang sangat redundan. Dengan Zona Ketersediaan, Anda dapat merancang dan 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 selengkapnya tentang AWS Wilayah dan Zona Ketersediaan, lihat Infrastruktur AWS Global.

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

Pemulihan bencana di Amazon Kinesis Data Streams

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

  • Prosesor rekaman bisa gagal

  • Seorang pekerja dapat gagal, atau contoh aplikasi yang membuat instance pekerja dapat gagal

  • Instans EC2 yang menghosting satu atau lebih instance aplikasi dapat gagal

Rekam kegagalan prosesor

Pekerja memanggil metode rekaman prosesor menggunakan tugas Java ExecutorService. Jika tugas gagal, pekerja mempertahankan kendali pecahan yang sedang 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 contoh 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 dimulai, itu membuat instance pekerja baru, yang pada gilirannya membuat instance prosesor rekaman baru yang secara otomatis ditugaskan pecahan untuk diproses. Ini bisa berupa pecahan yang sama yang diproses oleh prosesor rekaman ini sebelum kegagalan, atau pecahan yang baru untuk prosesor ini.

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

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

Kegagalan instans Amazon EC2

Sebaiknya jalankan instans EC2 untuk aplikasi Anda dalam grup Penskalaan Otomatis. Dengan cara ini, jika salah satu instans EC2 gagal, grup Auto Scaling secara otomatis meluncurkan instance baru untuk menggantikannya. Anda harus mengonfigurasi instance untuk meluncurkan aplikasi Amazon Kinesis Data Streams Anda saat startup.