我正在尝试找出可以将数据写入运动的托管服务。通过这种方式,我需要我的消息应该至少得到一个传递到 kinesis 流。 使用 SQS 写入 Kinesis 是否推荐或好主意。我正在寻找可以水平扩展的解决方案。
最佳答案
根据您的经验和环境,有多种写入 Kinesis 的选项。
最直接的方法是直接调用put-record API。您可以使用 put-record 一次写入一条记录或将它们与 put-records 一起批处理.各种 SDK(Java、.NET、php、ruby、javascript、python …)支持这些 API 调用。
由于 Kinesis 最有用的用例之一是从数百万用户的移动设备或浏览器上收集信息,因此在浏览器中提供了适用于 iOS、Android 和 JavaScript 的专用移动 SDK。看这里:http://aws.amazon.com/mobile/sdk/ .您可以使用这些 SDK 来消除对 Kinesis 之外的摄取基础设施的需求。
其他一些选项是使用 FluentD 等在运输日志中非常流行的工具。在这里查看可以让您的生活更轻松的连接器:https://github.com/awslabs/aws-fluent-plugin-kinesis
另一个最近的选择是使用 Kinesis Producer Library (KPL) 正在添加将许多事件聚合到一个事件中的能力,以将分片容量优化到极限。它还允许生产者对 Kinesis 进行异步写入,而 KPL 将处理阻塞、退出和其他导致延迟的方法。
log4j appender 也是一种流行的方式,可以将日志事件直接写入 kinesis,而开发人员只需付出最少的努力。有关更多详细信息,请参见此处:https://github.com/awslabs/kinesis-log4j-appender
关于amazon-sqs - 向 Amazon Kinesis 写入数据的推荐方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31378037/