问题标签 [amazon-kinesis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1185 浏览

amazon-web-services - 亚马逊 Kinesis 模拟器

我们正在评估实时事件处理引擎(如 twitter Storm),其中一个选项是最近发布的Amazon Kinesis

我想知道是否有任何可用的仿真器/沙盒环境可以让您在无需设置 AWS 帐户和支付使用服务费用的情况下稍微玩转 kinesis

先感谢您

0 投票
1 回答
922 浏览

amazon-web-services - 将 Apache Camel 集成到 Amazon Kinesis Streaming Service

有没有人将 Apache Camel 集成到 Amazon Kinesis Streaming Service?

这与将Apache Camel 与 Amazon AWS 结合使用有关,其中包括有关与 Apache Camel 集成的其他 Amazon 服务的问题。

我希望 Amazon Kinesis 端点正在开发过程中,或者以某种早期采用的形式存在。

谢谢。

PS。也许有更多“声誉”点的人可以在这篇文章中添加一个 amazon-kinesis 标签?;-)

0 投票
0 回答
984 浏览

hadoop - 与 Lambda 架构相比,纯基于流的架构有哪些缺点?

免责声明:我不是实时架构专家,我只想提出一些个人考虑并评估其他人的建议或指出。

假设我们想设计一个实时分析系统。遵循 Lambda 架构 Nathan Marz 的定义,为了提供数据,我们需要一个批处理层(即 Hadoop),不断地从所有数据的数据集中重新计算视图,以及一个所谓的速度层(即 Storm),它不断处理视图的一个子集(由批处理层最后一次完全重新计算后进入的事件产生)。您可以通过将两者的结果合并在一起来查询您的系统。

这个选择背后的理由对我来说非常有意义,它结合了软件工程和系统工程的观察。拥有一个不断增长的不可变时间戳事实的主数据集使系统能够在计算视图时适应人为错误(如果你犯了错误,你只需修复它并在批处理层重新计算它们)并使系统能够回答几乎任何将来会出现的查询。此外,这样的数据存储只需要支持随机读取和批量插入,而用于速度/实时部分的数据存储需要有效地支持随机读取和随机写入,从而增加了其复杂性。

我对此讨论的反对/触发是,在某些情况下,这种方法可能是一种矫枉过正。为了讨论,假设我们做了一些简化:

  • 假设在我们的分析系统中,我们可以预先定义小时系统需要能够提供的一组不可变的用例\查询,并且它们将来不会改变。
  • 假设我们有有限的资源(工程能力、基础设施等)来实现它。存储进入我们系统的整个基本事件集,而不是预先计算视图\聚合,可能太昂贵了。
  • 让我们假设我们成功地减少了人为错误的影响(...)。

该系统仍然需要可扩展并处理不断增长的流量和数据。鉴于这些观察,我想知道什么会阻止我们设计一个完全面向流的架构。我想象的是一种架构,其中事件(即页面视图)被推送到流中,可能是 RabbitMQ + Storm 或 Amazon Kinesis,并且此类流的消费者将通过随机写入/更新直接更新所需的视图NoSQL 数据库(即 MongoDB)。

乍一看,在我看来,这种架构可以水平扩展。Storm 可以集群化,也可以预先保留 Kinesis 预期的 QoS。更多的传入事件意味着更多的流消费者,并且由于它们是完全独立的,没有什么能阻止我们添加更多的。关于数据库,使用适当的策略对其进行分片可以让我们将越来越多的写入分配到越来越多的分片。为了避免读取受到影响,每个分片可以有一个或多个读取副本。在可靠性方面,Kinesis 承诺将您的消息可靠地存储长达 24 小时,并且正确使用确认机制的分布式 RabbitMQ(或您选择的任何队列系统)可能会满足相同的要求。

亚马逊关于 Kinesis 的文档故意(我相信)避免将您锁定在特定的架构解决方案中,但我的总体印象是,他们希望推动开发人员简化 Lambda 架构并实现类似于我的完全基于流的解决方案。暴露了。为了更符合 Lambda 架构要求,没有什么能阻止我们在消费者不断更新我们的视图的同时拥有一组消费者,这些消费者处理传入的事件并将它们作为原子不可变单元存储在不同的数据存储中将来用于生成新视图(例如通过 Hadoop)或重新计算错误数据。

你对这个推理有什么看法?我想知道纯基于流的架构在哪些场景下无法扩展,如果您有任何其他观察结果,Lambda 架构与基于流的架构的优缺点。

0 投票
1 回答
1618 浏览

ruby-on-rails - Fat rails 应用程序将数据记录到 aws kinesis?

我有这个胖 Rails 应用程序,我通过一个 nfs 共享在多个 ec2 实例上运行。因此,日志文件被阻塞,我希望能够查看发生的异常或错误以及其他一些事情。

有没有办法做到这一点?

0 投票
0 回答
269 浏览

scala - Scala Futures 发送到 Kinesis (Amazon AWS) 时未执行

我正在尝试使用 Scala Futures 将消息异步写入 Amazon Kinesis,以便对应用程序进行负载测试。

这段代码有效,我可以看到数据沿着我的管道移动,以及输出打印到控制台。

此代码适用于 Scala Futures。

您会注意到,序列映射的语法几乎相同。但是,以下方法不起作用(即,它既不打印到控制台也不向我的管道发送数据)。

关于这个项目的更多说明。我正在使用 Maven 进行构建(从命令行),并且运行所有上述代码(也从命令行)只是花花公子。

我的问题是:为什么使用相同的语法我的函数“发送”似乎没有执行?

0 投票
1 回答
748 浏览

log4j - 如何将 Kinesis 与 Log4J Baigaizeva 一起使用

我想将 Amazon Kinesis 与 Log4J 一起使用。有人有我可以参考的示例代码吗?

0 投票
1 回答
2661 浏览

amazon-redshift - 使用 AWS RedshiftBasicEmitter 时出现 S3ServiceException

我正在使用来自 GitHub 的示例 AWS kinesis/redshift 代码。我在 EC2 实例中运行代码并遇到以下异常。请注意,从 Kinesis 到 S3 的发射实际上是成功的。但是从 S3 发射到 Redshift 失败了。由于同一程序中的两个发射器使用相同的凭据,我很困惑为什么只有一个失败了!?

我了解大多数人收到“您提供的 AWS 访问密钥 ID 在我们的记录中不存在”异常可能在正确设置 S3 密钥对时遇到问题。但这里的情况似乎并非如此,因为发送到 S3 成功。如果凭证没有读取权限,则它应该抛出一个授权错误。

如果您有任何见解,请发表评论。

0 投票
2 回答
375 浏览

php - 亚马逊 Kinesis + GNIP

我正在使用 GNIP 的 PowerTrack 功能实时获取推文,我希望将流连接到 Kinesis 流。有没有人试过这个或知道任何可能有帮助的示例代码?(最好是PHP)

我一直在玩这两种服务,但似乎无法理解 Kinesis 连接的实际工作原理。

0 投票
1 回答
1796 浏览

node.js - Amazon Kinesis NodeJS - putRecord 操作过期

我使用 NodeJS 和Express作为代理来处理 HTTP GET 请求,对数据进行一些小的调整,并将数据提交给 Amazone Kinesis。这是我的代码的摘录:

在为 200 个并发用户(循环 100 次)运行 JMeter 测试后,5 分钟后,我收到此错误:

10)\n 在 Request.emit (/Users/me/proxy/node_modules/aws-sdk/lib/request.js:578:14)\n 在 Request.transition (/Users/me/proxy/node_modules/aws- sdk/lib/request.js:12:12)\n 在 AcceptorStateMachine.runTo (/Users/me/proxy/node_modules/aws-sdk/lib/state_machine.js:14:12)\n 在 /Users/me/ proxy/node_modules/aws-sdk/lib/state_machine.js:26:10\n 在请求。(/Users/me/proxy/node_modules/aws-sdk/lib/request.js:28:9)\n 在请求。(/Users/me/proxy/node_modules/aws-sdk/lib/request.js:580:12)\n 在 Request.callListeners (/Users/me/proxy/node_modules/aws-sdk/lib/sequential_executor.js: 90:20)' runTo (/Users/me/proxy/node_modules/aws-sdk/lib/state_machine.js:14:12)\n 在 /Users/me/proxy/node_modules/aws-sdk/lib/state_machine.js:26:10 \n 在请求中。(/Users/me/proxy/node_modules/aws-sdk/lib/request.js:28:9)\n 在请求。(/Users/me/proxy/node_modules/aws-sdk/lib/request.js:580:12)\n 在 Request.callListeners (/Users/me/proxy/node_modules/aws-sdk/lib/sequential_executor.js: 90:20)' runTo (/Users/me/proxy/node_modules/aws-sdk/lib/state_machine.js:14:12)\n 在 /Users/me/proxy/node_modules/aws-sdk/lib/state_machine.js:26:10 \n 在请求中。(/Users/me/proxy/node_modules/aws-sdk/lib/request.js:28:9)\n 在请求。(/Users/me/proxy/node_modules/aws-sdk/lib/request.js:580:12)\n 在 Request.callListeners (/Users/me/proxy/node_modules/aws-sdk/lib/sequential_executor.js: 90:20)'

我可以做些什么(配置或代码更改)以确保发送和保存所有 Kinesis 记录?

0 投票
1 回答
830 浏览

c# - Error posting to Amazon Web Services Kinesis with .NET SDK

I was hoping one of you could help me with the use of AWS Kinesis. I have been pouring over the documentation and I am still unable to post a "blob" of data to a Kinesis stream.

In the API the standard POST request is as follows.

Using "Postman" a google chrome app to make Http requests and filling in the appropriate information for the above fields I cannot for the life of me figure out how to make a successful data post to a stream. I was unable to do this successfully so i went on to do use the .NET SDK for visual studio.

I made a quick command line c# console application I am still having some issues.

My code: http://pastebin.com/cyJeC0vU

The error message, System.Xml.XmlException was unhandled, appears on line 61 of the code: http://pastebin.com/HEG7DmMw

Has anyone had a successful experience using AWS Kinesis. I would love to pick your brain / repay you somehow for a bit of tutoring.

Thanks again for all of your help!