大佬教程收集整理的这篇文章主要介绍了node.js – AWS Kinesis中的分区键是什么?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
var params = { Data: 'More Sample data into the test stream ...',PartitionKey: 'TestKey_1',Streamname: 'TestStream' }; kinesis.putRecord(params,function(err,data) { if (err) console.log(err,err.stack); // an error occurred else console.log(data); // successful response });
所有记录都已成功插入.分区键在这里真正意味着什么?它在后台做什么?我读了它的documentation,但不明白@R_450_10331@.
那为什么这很重要?
每个分片只能接受1,000条记录和/或每秒1 MB(参见PutRecord doC).如果您以比此速率更快的速度写入单个分片,则会获得ProvisionedThroughputExceededException.
使用多个分片时,可以缩放此限制:4个分片可为您提供4,000条记录和/或每秒4 MB.当然,有一些警告.
最大的是你必须使用不同的分区键.如果所有记录都使用相同的分区键,那么您仍然在写一个分片,因为它们都具有相同的哈希值.如何解决这个问题取决于您的应用程序:如果您是从多个进程编写的,那么使用进程ID,服务器的IP地址或主机名就足够了.如果您是从单个进程编写的,则可以使用记录中的信息(例如,唯一的记录ID)或生成@L_696_9@字符串.
第二个警告是分区键计入总写入大小,并存储在流中.因此,虽然你可能通过在记录中使用一些文本组件来获得良好的@L_696_9@性,但你会浪费空间.另一方面,如果您有一些@L_696_9@文本组件,您可以从中计算自己的哈希值,然后将其用于分区键.
最后,如果您使用的是PutRecords(如果您正在编写大量数据,则应该使用),请求中的个别记录可能会被拒绝,而其他记录则会被接受.发生这种情况是因为这些记录转到已经处于其写入限制的分片,并且您必须重新发送它们(在延迟之后).
以上是大佬教程为你收集整理的node.js – AWS Kinesis中的分区键是什么?全部内容,希望文章能够帮你解决node.js – AWS Kinesis中的分区键是什么?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。