Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pilih mode yang tepat untuk streaming
Topik berikut menjelaskan cara memilih mode terbaik untuk aplikasi Anda dan cara beralih antar mode, jika diperlukan.
Topik
Apa saja mode yang berbeda di Kinesis Data Streams?
Mode menentukan bagaimana kapasitas aliran data dikelola dan bagaimana Anda dikenakan biaya untuk penggunaan aliran data Anda. Di Amazon Kinesis Data Streams, Anda dapat memilih On-demand Standard, Adv On-demand antage, dan Provisioned sebagai mode untuk aliran data Anda.
-
On-demand Standar — Aliran data dengan mode on-demand tidak memerlukan perencanaan kapasitas dan secara otomatis menskalakan untuk menangani throughput tulis dan baca gigabytes per menit. Dengan mode on-demand, Kinesis Data Streams secara otomatis mengelola pecahan untuk memberikan throughput yang diperlukan.
-
On-demand Keuntungan — Mode tingkat akun yang memberi Anda lebih banyak kemampuan dan menyediakan struktur harga yang lebih sederhana untuk streaming sesuai permintaan. Dalam mode ini, Anda dapat secara proaktif menghangatkan kapasitas throughput tulis stream kapan saja. Anda juga dapat memicu penurunan skala jika ledakan data sementara menyebabkan aliran meningkat secara signifikan melebihi kapasitas hangatnya. Untuk harga, tidak ada lagi biaya tetap untuk setiap streaming. Pengambilan data, pengambilan data, dan penggunaan retensi yang diperpanjang di semua aliran sesuai permintaan setidaknya 60% lebih rendah daripada di On-demand Standar.
-
Disediakan - Untuk aliran data dengan mode yang disediakan, Anda harus menentukan jumlah pecahan untuk aliran data. Kapasitas total aliran data adalah jumlah kapasitas pecahannya. Anda dapat menambah atau mengurangi jumlah pecahan dalam aliran data, sesuai kebutuhan.
Anda dapat menggunakan Kinesis Data Streams PutRecord dan PutRecords API untuk menulis data ke aliran data Anda dalam mode apa pun. Untuk mengambil data, ketiga mode mendukung konsumen default yang menggunakan GetRecords API dan konsumen Enhanced Fan-Out (EFO) yang menggunakan SubscribeToShard API.
Semua kemampuan Kinesis Data Streams, termasuk mode retensi, enkripsi, metrik pemantauan, dan lainnya, didukung untuk mode on-demand dan disediakan. Kinesis Data Streams memberikan daya tahan dan ketersediaan yang tinggi baik dalam mode kapasitas sesuai permintaan maupun yang disediakan.
On-demand Fitur mode standar dan kasus penggunaan
Aliran data dalam mode on-demand tidak memerlukan perencanaan kapasitas dan secara otomatis menskalakan untuk menangani throughput tulis dan baca gigabytes per menit. On-demand mode menyederhanakan penyerapan dan penyimpanan volume data besar pada latensi rendah karena menghilangkan penyediaan dan pengelolaan server, penyimpanan, atau throughput. Anda dapat menelan miliaran catatan per hari tanpa biaya operasional apa pun.
On-demand mode sangat ideal untuk mengatasi kebutuhan lalu lintas aplikasi yang sangat bervariasi dan tidak dapat diprediksi. Anda tidak perlu lagi menyediakan beban kerja ini untuk kapasitas puncak, yang dapat mengakibatkan biaya yang lebih tinggi karena pemanfaatan yang rendah. On-demand mode cocok untuk beban kerja dengan pola lalu lintas yang tidak dapat diprediksi dan sangat bervariasi.
Dengan mode kapasitas sesuai permintaan, Anda membayar per GB data yang ditulis dan dibaca dari aliran data Anda. Anda tidak perlu menentukan berapa banyak throughput baca dan tulis yang Anda harapkan untuk dilakukan aplikasi Anda. Kinesis Data Streams langsung mengakomodasi beban kerja Anda saat mereka naik atau turun. Lihat informasi yang lebih lengkap di struktur harga Amazon Kinesis Data Streams
Aliran data dalam mode on-demand mengakomodasi hingga dua kali lipat throughput penulisan puncak yang diamati dalam 30 hari sebelumnya. Saat throughput tulis aliran data Anda mencapai puncak baru, Kinesis Data Streams menskalakan kapasitas aliran data secara otomatis. Misalnya, jika aliran data Anda memiliki throughput tulis yang bervariasi antara 10 MB/s dan 40 MB/s, maka Kinesis Data Streams memastikan bahwa Anda dapat dengan mudah melakukan burst hingga menggandakan throughput puncak sebelumnya, atau 80 MB/s. Jika aliran data yang sama mempertahankan throughput puncak baru sebesar 50 MB/s, Kinesis Data Streams memastikan bahwa ada kapasitas yang cukup untuk menyerap 100 throughput tulis MB/s . Namun, pelambatan tulis dapat terjadi jika lalu lintas Anda meningkat menjadi lebih dari dua kali lipat puncak sebelumnya dalam durasi 15 menit. Anda perlu mencoba lagi permintaan yang dibatasi ini.
Kapasitas baca agregat aliran data dengan mode on-demand meningkat secara proporsional untuk throughput menulis. Ini membantu memastikan bahwa aplikasi konsumen selalu memiliki throughput baca yang memadai untuk memproses data yang masuk secara real time. Anda mendapatkan setidaknya dua kali throughput tulis dibandingkan dengan membaca data menggunakan GetRecords API. Kami menyarankan Anda menggunakan satu aplikasi konsumen dengan GetRecord API, sehingga memiliki cukup ruang untuk mengejar ketinggalan ketika aplikasi perlu pulih dari downtime. Disarankan agar Anda menggunakan Fan-Out kemampuan Enhanced dari Kinesis Data Streams untuk skenario yang memerlukan penambahan lebih dari satu aplikasi konsumen. Enhanced Fan-Out mendukung penambahan hingga 20 aplikasi konsumen ke aliran data menggunakan SubscribeToShard API, dengan setiap aplikasi konsumen memiliki throughput khusus.
Menangani pengecualian throughput baca dan tulis
Dengan mode on-demand (sama seperti dengan mode kapasitas yang disediakan), Anda harus menentukan kunci partisi dengan setiap catatan untuk menulis data ke aliran data Anda. Kinesis Data Streams menggunakan kunci partisi Anda untuk mendistribusikan data di seluruh pecahan. Kinesis Data Streams memantau lalu lintas untuk setiap pecahan. Ketika lalu lintas masuk melebihi 500 KB/s per pecahan, itu membagi pecahan dalam waktu 15 menit. Nilai kunci hash pecahan induk didistribusikan kembali secara merata di seluruh pecahan anak.
Jika lalu lintas masuk melebihi dua kali puncak sebelumnya, Anda dapat mengalami pengecualian baca atau tulis selama sekitar 15 menit, bahkan ketika data Anda didistribusikan secara merata di seluruh pecahan. Kami menyarankan Anda mencoba kembali semua permintaan tersebut sehingga semua catatan disimpan dengan benar di Kinesis Data Streams.
Anda mungkin mengalami pengecualian baca dan tulis jika Anda menggunakan kunci partisi yang menyebabkan distribusi data yang tidak merata, dan catatan yang ditetapkan ke pecahan tertentu melebihi batasnya. Dengan mode on-demand, aliran data secara otomatis beradaptasi untuk menangani pola distribusi data yang tidak merata kecuali jika kunci partisi tunggal melebihi batas MB/s throughput 1 pecahan dan 1000 catatan per detik.
Dalam mode on-demand, Kinesis Data Streams membagi pecahan secara merata ketika mendeteksi peningkatan lalu lintas. Namun, itu tidak mendeteksi dan mengisolasi kunci hash yang mendorong porsi yang lebih tinggi dari lalu lintas masuk ke pecahan tertentu. Jika Anda menggunakan kunci partisi yang sangat tidak rata, Anda dapat terus menerima pengecualian tulis. Untuk kasus penggunaan seperti itu, sebaiknya gunakan mode kapasitas yang disediakan yang mendukung pemisahan pecahan granular.
On-demand Fitur mode keuntungan dan kasus penggunaan
On-demand Advantage adalah pengaturan tingkat akun yang membuka lebih banyak kemampuan dan menyediakan struktur harga yang berbeda untuk semua aliran sesuai permintaan di Wilayah. Dalam mode ini, stream on-demand mempertahankan fungsinya dan terus meningkatkan kapasitas secara otomatis berdasarkan penggunaan data aktual. Jika Anda ingin secara proaktif menghangatkan kapasitas throughput tulis stream, Anda dapat mengonfigurasi throughput hangat. Misalnya, jika aliran data Anda memiliki throughput tulis antara 10 MB/s dan 40 MB/s, Anda dapat mengharapkannya menangani hingga peningkatan throughput inst 80MB/s an tanpa pembatasan. Namun, jika Anda memperkirakan peristiwa mendatang akan mencapai 200MB/s puncak lalu lintas, Anda dapat mengonfigurasi aliran dengan throughput hangat 200MB/s untuk memastikan bahwa kapasitas tersedia saat throughput data tiba. Menggunakan throughput hangat tidak menimbulkan biaya tambahan. Jika ledakan data transien menyebabkan aliran berskala melebihi kapasitas hangatnya, Anda dapat memicu penurunan skala. Untuk melakukannya, konfigurasikan ulang throughput hangat aliran ke nilai yang sama atau lebih rendah. Kapasitas aliran berkurang ke nomor yang diminta atau jumlah yang diperlukan untuk mendukung penggunaan puncak data dalam satu jam terakhir, mana saja yang lebih tinggi.
Manfaat lain dari mode Adv On-demand antage adalah aliran on-demand beralih ke struktur harga yang lebih sederhana. Dengan mode diaktifkan, Anda tidak lagi melihat biaya tetap per aliran, dan Anda hanya berurusan dengan konsumsi data, pengambilan data, dan biaya retensi tambahan opsional. Setiap dimensi harga juga memiliki diskon yang signifikan dibandingkan dengan dimensi yang sesuai di On-demand Standar. Lihat informasi yang lebih lengkap di struktur harga Amazon Kinesis Data Streams
Pengambilan data fan-out yang disempurnakan juga tidak memiliki harga premium dibandingkan dengan pengambilan data standar dalam mode ini. Selain itu, dengan mode Adv On-demand antage, Anda dapat mendaftarkan hingga 50 konsumen per streaming untuk menggunakan fan-out yang ditingkatkan. Meng On-demand aktifkan Advantage mengkomit akun setidaknya untuk 25MiB/s menelan data dan 25MiB/s pengambilan data di semua aliran sesuai permintaan. Untuk akun yang memenuhi persyaratan penggunaan minimum, konsol Kinesis Data Streams memiliki pemeriksaan untuk melihat apakah pola penggunaan akun Anda cocok untuk menggunakan mode Adv On-demand antage.
Jika penggunaan data akun Anda di bawah persyaratan, Anda akan dibebankan selisihnya sebagai kekurangan, tetapi tetap pada tarif diskon yang sama. Mengaktifkan Adv On-demand antage juga memiliki periode minimum 24 jam sebelum Anda dapat menonaktifkan mode. Secara keseluruhan, Adv On-demand antage adalah cara terbaik untuk melakukan streaming dengan Kinesis Data Streams jika Anda memiliki penggunaan throughput yang konsisten mendekati atau di atas komitmen minimum, membutuhkan banyak konsumen fan-out, atau beroperasi dengan ratusan aliran data.
Fitur mode yang disediakan dan kasus penggunaan
Dengan mode yang disediakan, setelah Anda membuat aliran data, Anda dapat menaikkan atau menurunkan kapasitas pecahan secara dinamis menggunakan Konsol Manajemen AWS atau API. UpdateShardCount Anda dapat melakukan pembaruan saat ada produsen Kinesis Data Streams atau aplikasi konsumen yang menulis atau membaca data dari aliran.
Mode yang disediakan cocok untuk lalu lintas yang dapat diprediksi dengan persyaratan kapasitas yang mudah diprediksi. Anda dapat menggunakan mode yang disediakan jika Anda ingin kontrol halus atas bagaimana data didistribusikan di seluruh pecahan.
Dengan mode yang disediakan, Anda harus menentukan jumlah pecahan untuk aliran data. Untuk menentukan ukuran aliran data dengan mode yang disediakan, Anda memerlukan nilai input berikut:
-
Ukuran rata-rata catatan data yang ditulis ke aliran dalam kilobyte (KB), dibulatkan ke 1 KB terdekat (
average_data_size_in_KB). -
Jumlah catatan data yang ditulis dan dibaca dari aliran per detik (
records_per_second). -
Jumlah konsumen, yaitu aplikasi Kinesis Data Streams yang mengkonsumsi data secara bersamaan dan independen dari stream ()
number_of_consumers. -
Bandwidth tulis masuk dalam KB (
incoming_write_bandwidth_in_KB), yang sama dengan diaverage_data_size_in_KBkalikan denganrecords_per_second. -
Bandwidth baca keluar dalam KB (
outgoing_read_bandwidth_in_KB), yang sama dengan diincoming_write_bandwidth_in_KBkalikan dengannumber_of_consumers.
Anda dapat menghitung jumlah shards (number_of_shards) yang dibutuhkan streaming Anda dengan menggunakan nilai input dalam rumus berikut.
number_of_shards = ceiling(max(incoming_write_bandwidth_in_KiB/1024, outgoing_read_bandwidth_in_KiB/2048))
Anda mungkin masih mengalami pengecualian throughput baca dan tulis dalam mode yang disediakan jika Anda tidak mengonfigurasi aliran data untuk menangani throughput puncak. Dalam hal ini, Anda harus secara manual menskalakan aliran data Anda untuk mengakomodasi lalu lintas data Anda.
Anda juga mungkin mengalami pengecualian baca dan tulis jika Anda menggunakan kunci partisi yang menyebabkan distribusi data yang tidak merata dan catatan yang ditetapkan ke pecahan melebihi batasnya. Untuk mengatasi masalah ini dalam mode yang disediakan, identifikasi pecahan tersebut dan pisahkan secara manual untuk mengakomodasi lalu lintas Anda dengan lebih baik. Untuk informasi selengkapnya, lihat Meny impan Ulang Stream.
Beralih antar mode
Untuk setiap aliran data di Anda Akun AWS, Anda dapat beralih antara mode on-demand dan yang disediakan dua kali dalam waktu 24 jam. Beralih antar mode tidak menyebabkan gangguan apa pun pada aplikasi Anda yang menggunakan aliran data ini. Anda dapat terus menulis dan membaca dari aliran data ini. Saat Anda beralih antar mode, baik dari sesuai permintaan ke yang disediakan atau dari disediakan ke sesuai permintaan, status aliran disetel ke Memperbarui. Anda harus menunggu status aliran data sampai ke Aktif sebelum Anda dapat mengubah propertinya lagi.
Saat Anda beralih dari mode kapasitas yang disediakan ke mode sesuai permintaan, aliran data Anda awalnya menyimpan jumlah pecahan apa pun yang dimilikinya sebelum transisi, dan sejak saat ini, Kinesis Data Streams memantau lalu lintas data Anda dan menskalakan jumlah pecahan aliran data sesuai permintaan ini tergantung pada throughput penulisan Anda. Saat Anda beralih dari mode on-demand ke mode yang disediakan, aliran data Anda juga awalnya menyimpan jumlah pecahan apa pun yang dimilikinya sebelum transisi, tetapi mulai saat ini, Anda bertanggung jawab untuk memantau dan menyesuaikan jumlah pecahan aliran data ini untuk mengakomodasi throughput tulis Anda dengan benar.
Anda dapat beralih dari mode On-demand Standar ke On-demand Advantage dengan mengaktifkan pengaturan tingkat akun. Saat diaktifkan, akun akan melakukan setidaknya 25MiB/s penggunaan data dan 25MiB/s pengambilan data di semua aliran sesuai permintaan di Wilayah. Setelah Anda mengaktifkannya, Anda harus menunggu setidaknya 24 jam sebelum Anda dapat menonaktifkan Adv On-demand antage, tetapi Anda dapat meminta perubahan kapan saja. Jika Anda ingin beralih dari Adv On-demand antage ke On-demand Standar, Anda harus terlebih dahulu menghapus throughput hangat yang dikonfigurasi pada streaming sesuai permintaan.