点击围观!腾讯 TAPD 助力金融行业研发提效、敏捷转型最佳实践! 了解详情
写点什么

使用亚马逊 Kinesis 处理大批量数据

  • 2013-11-27
  • 本文字数:924 字

    阅读完需:约 3 分钟

亚马逊近期公布了一项名为Kinesis 的服务,它支持开发者从不同来源传输大量的数据并进行处理。该服务目前处于有限预览阶段。

Kinesis 到底是什么?它与 SQS 有什么不同?对此, BuckKniferson 解释道

看起来 Kinesis 将包装 SQS 队列并将计算实例自动扩展为新产品。Kinesis 能能接受每秒百万条 POST 请求,将其作为流进行实时处理。用户可以将流数据直接发送给 S3、发送给自己的应用进行处理、发送给关系型存储,以及类似多种途径……都是实时完成的。

SQS 消息被限定在 256kb 的文本消息(一般来说是 JSON 格式,但用户也可以根据喜好选择)。Kinesis 流则享有 MB/S 的量级,而且据我所知,它可以通过 HTTP PUT 接收任何类型的数据。

此外,应用可以从不同区域访问 Kinesis 流数据,且在 24 小时之内可用;而 SQS 消息则依赖于区域并且不可持久。如果某个区域超出范围,或是出现了某些故障,那么用户的 SQS 消息就丢失了。而且我认为 SQS 没有可以与 Kinesis 相媲美的可扩展性和 IO。我尚未见到 SQS 公开发布的 IOPS 保证;但 Kinesis 每个分片能够接收 1000 条 / 秒的 PUT 请求。

使用 Kinesis 流的应用能够捕捉、存储和传输数据,对这三者来说都可以拥有多个读取和写入方。每个流的容量按分片来定义;每个分片能够执行 1000 条写事务,最高位 1MB/ 秒——而且支持在不停机状态下,通过增加或移除分片,来扩展每个流的容量。

开发者可以使用 Kinesis 客户端库来构建使用 Kinesis 的应用。生产者方面使用 PutRecord API 来推送数据。而在消费者方面,开发者提供一个 IRecordProcessor 的实现,一旦新记录创建成功,客户端将“推送”它们。此外,还有一些更底层的接口,例如 GetShardIterator GetNextRecords 。在处理一条记录后,消费者代码可以把它存储在某个 AWS 存储服务(S3、RedShift、DynamoDB)上,或是将其传递给另一个 Kinesis 流。

Kinesis 支持的实时处理与批处理(例如Hadoop 提供的那样)不同,因为当数据可用时它将会得到尽快处理,而不必凑成批次进行执行。亚马逊列出了日志处理、社交媒体数据处理、金融事务实时处理和在线机器学习等内容,作为部分可行的使用案例。最后,另一个支持大量数据实时复杂处理的类似产品是 Storm

查看英文原文: Streaming Big Data With Amazon Kinesis

2013-11-27 06:072753
用户头像

发布了 256 篇内容, 共 63.0 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

系统故障工程师居然可以不背锅?看看几家大厂是怎么做到的!(内附复盘模板)

TakinTalks稳定性社区

SRE 故障 定责

区块链合约安全系列(四):如何认识及预防公链合约中的算术溢出攻击

BSN研习社

区块链 智能合约

我是咖啡师,在软件公司上班|ONES 人物

万事ONES

Python 教程之数据分析(1)—— 使用 Bokeh 进行数据可视化

海拥(haiyong.site)

Python Bokeh 8月月更

实时数仓Workshop · 广州站 9.15 邀您参加!

Apache Flink

大数据 flink 流计算 实时计算 实时数仓

页面切换转场动画,英雄救场更有趣!

岛上码农

flutter ios 前端 移动端开发 8月月更

StarRocks 与奥威软件完成产品兼容认证,共同打造数据驱动的智慧企业

StarRocks

数据库

J-Tech Talk | 编写Dockerfile的最佳实践

Jina AI

Docker J-Tech Talk

[JS入门到进阶] 哎,被vite小坑了一波,大家记得配置build.cssTarget为'chrome61'

HullQin

CSS JavaScript html 前端 8月月更

leetcode 205. Isomorphic Strings 同构字符串(简单)

okokabcd

LeetCode 算法与数据结构

每日一R「16」实践课之 kv-server(二)

Samson

学习笔记 8月月更 ​Rust

再谈回声消除测评丨Dev for Dev 专栏

声网

音频 Dev for Dev 实时互动

iOS端如何实现MobLink的场景还原功能

MobTech袤博科技

ios sdk moblink

EMQX + PolarDB-X 一站式 IoT 数据解决方案

阿里云数据库开源

数据库 阿里云 开源 :MySQL 数据库 PolarDB-X

阿里云实时计算 Flink 版 x Hologres: 构建企业级一站式实时数仓

Apache Flink

大数据 flink 流计算 实时计算 实时数仓

客户案例|雅森帮携手观测云,保障海量在线用户服务体验

观测云

开源一夏 | React对于生命周期的深入研究

恒山其若陋兮

开源 8月月更

如何进行企业数字化转型?数字化转型的3大核心规律

优秀

企业数字化转型

开源一夏 |为什么线程池不允许使用Executors去创建?

六月的雨在InfoQ

开源 OOM Executors ThreadPoolExecutor 8月月更

SMTP协议详解

秋名山码民

8月月更

当满世界喧嚣“All in Web3”,但你可以慢慢来

One Block Community

区块链 程序员 开发者 就业 黑客马拉松

头脑风暴:二叉搜索树中的众数

HelloWorld杰少

算法 LeetCode 8月月更

使用亚马逊Kinesis处理大批量数据_亚马逊云科技_Roopesh Shenoy_InfoQ精选文章