Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Penundaan propagasi didefinisikan sebagai end-to-end latensi dari saat catatan ditulis ke aliran hingga dibaca oleh aplikasi konsumen. Penundaan ini bervariasi tergantung pada sejumlah faktor, tetapi terutama dipengaruhi oleh interval pemungutan suara aplikasi konsumen.
Untuk sebagian besar aplikasi, kami merekomendasikan polling setiap pecahan satu kali per detik per aplikasi. Ini memungkinkan Anda memiliki beberapa aplikasi konsumen yang memproses aliran secara bersamaan tanpa mencapai batas Amazon Kinesis Data Streams 5 panggilan per detik. GetRecords
Selain itu, memproses batch data yang lebih besar cenderung lebih efisien dalam mengurangi jaringan dan latensi hilir lainnya dalam aplikasi Anda.
KCLDefault diatur untuk mengikuti praktik terbaik pemungutan suara setiap 1 detik. Default ini menghasilkan penundaan propagasi rata-rata yang biasanya di bawah 1 detik.
Catatan Kinesis Data Streams tersedia untuk dibaca segera setelah ditulis. Ada beberapa kasus penggunaan yang perlu memanfaatkan ini dan memerlukan konsumsi data dari aliran segera setelah tersedia. Anda dapat mengurangi penundaan propagasi secara signifikan dengan mengganti pengaturan KCL default untuk melakukan polling lebih sering, seperti yang ditunjukkan pada contoh berikut.
Kode KCL konfigurasi Java:
kinesisClientLibConfiguration = new
KinesisClientLibConfiguration(applicationName,
streamName,
credentialsProvider,
workerId).withInitialPositionInStream(initialPositionInStream).withIdleTimeBetweenReadsInMillis(250);
Pengaturan file properti untuk Python dan Ruby: KCL
idleTimeBetweenReadsInMillis = 250
catatan
Karena Kinesis Data Streams memiliki batas GetRecords
5 panggilan per detik, per shard, idleTimeBetweenReadsInMillis
menyetel properti lebih rendah dari 200ms dapat mengakibatkan aplikasi Anda mengamati pengecualian. ProvisionedThroughputExceededException
Terlalu banyak pengecualian ini dapat mengakibatkan back-off eksponensial dan dengan demikian menyebabkan latensi tak terduga yang signifikan dalam pemrosesan. Jika Anda menyetel properti ini pada atau tepat di atas 200 ms dan memiliki lebih dari satu aplikasi pemrosesan, Anda akan mengalami pelambatan serupa.