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 AWS Wilayah dan Zona Ketersediaan. AWS Wilayah menyediakan beberapa Availability Zone 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 Availability Zone, lihat Infrastruktur AWS Global
Selain infrastruktur AWS 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
-
Instans EC2 yang menghosting satu atau lebih instance aplikasi bisa gagal
Rekam kegagalan prosesor
Pekerja memanggil metode prosesor rekaman menggunakan ExecutorService
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 instans EC2 lainnya, 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 instans EC2 lainnya ini meningkat.
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 Auto Scaling.
Kegagalan instans Amazon EC2
Kami menyarankan Anda menjalankan instans EC2 untuk aplikasi Anda dalam grup Auto Scaling. 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 saat startup.