- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我们有一个来自旧系统的写入密集型表(在 AWS RDS MySQL 上),我们希望将每个写入事件(插入或更新)从该表流式传输到 kinesis。这个想法是创建一个管道来预热缓存和更新搜索引擎。
目前我们使用基本的轮询架构,基本上使用 SQL,但理想的情况是使用推送架构直接从事务日志中读取事件。
有人试过吗?有什么推荐的架构吗?
最佳答案
我已经在 Oracle 中与一些这样做的客户合作过。似乎LinkedIn也使用了很多将数据从数据库流式传输到其他地方的技术。他们创建了一个名为 Databus 的平台,以不可知的方式实现这一目标 - https://github.com/linkedin/databus/wiki/Databus-for-MySQL .
Github 中有一个公共(public)项目,遵循 LinkedIn 原则,已经将 binlog 从 Mysql 流式传输到 Kinesis Streams - https://github.com/cmerrick/plainview
如果您想深入了解 LinkedIn 方法的细节,这里有一篇非常不错(而且内容丰富)的博文 - https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying .
最后但并非最不重要的是,Yelp 也在这样做,但使用 Kafka - https://engineeringblog.yelp.com/2016/08/streaming-mysql-tables-in-real-time-to-kafka.html
为了简洁起见,没有深入了解 Kinesis Streams 的基础知识,如果我们将 Kinesis Streams 引入游戏,我不明白为什么它不应该工作。事实上,它就是为此而构建的——您的数据库事务日志是一个事件流。借用 Amazon Web Services 公共(public)文档的摘录:Amazon Kinesis Streams 允许实时数据处理。借助 Amazon Kinesis Streams,您可以在生成数据时持续收集数据,并及时对有关您的业务和运营的关键信息使用react。
希望这会有所帮助。
关于mysql - 将数据从 MySQL 二进制日志流式传输到 Kinesis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39007703/
我有一个带有 2 个分片的 kinesis 流,如下所示: { "StreamDescription": { "StreamStatus": "ACTIVE",
我们可以从单个 Kinesis Firehose 获得多个目的地吗?我看到了这张图片 由此看来,可以从单个 Firehose 添加 s3、红移和 Elasticsearch 。我正是想这样做。 但是当
我正在尝试在流级别收集 Kinesis 的指标,更具体地说,我想获得工作进程/消费者进程在流级别落后的计数,我不关心分片级别的滞后.我在 AWS 文档上找到了一个计算消耗滞后的示例,但它计算的是滞后时
是否可以定义一个具有滑动间隔的窗口?例如。我需要每 10 秒计算过去 30 秒的总和吗? Kinesis Analytics SQL 是否支持此类具有重叠的滑动窗口? 最佳答案 我认为跳窗代表你的需求
我想将来自 AWS Kinesis 流的消息处理延迟一小时。我已将 KCL 使用者配置为每四分钟读取一批记录,检查每条记录的时间戳,并在任何记录不到一小时的情况下停止处理该批处理,没有检查点。我希望同
将分片拆分为 2 个子分片时,父分片将关闭。当发生这种情况时,期望记录处理器(此处使用 KCL)将检查点,如以下 KCL 源代码所示: try { recordProc
在生产者-消费者 Web 应用程序中,为 kinesis 流分片创建分区键的思考过程应该是什么。 假设,我有一个包含 16 个分片的 kinesis 流,我应该创建多少个分区键?它真的取决于分片的数量
有没有办法创建具有缓冲区限制的 Kinesis 使用者?赞 here : #Flush when buffer exceeds 100000 Amazon Kinesis records, 64 MB
他们似乎对我做同样的事情。任何人都可以向我解释其中的区别吗? 最佳答案 两者的高层次区别: 运动流 允许您生成和使用大量数据(日志、Web 数据等),其中 DynamoDB 流 是 DynamoDB
从文档中可以清楚地看出,当以 TRIM_HORIZON 作为迭代器类型启动 KCL 应用程序时,将从流的开头读取记录。文档还提到应用程序的状态是通过使用检查点在 DynamoDB 表中维护的。 但是我
我的问题 我有一个日志管道,其中使用 Filebeat 将日志写入文件并发送到 ElasticSearch。 .我想从 ElasticSearch 切换到 AWS Kinesis,我想知道为新输出配置
我正在尝试通过 Amazon Kinesis 抽取大量数据(每秒订购 10,000 个点)。 为了通过我的分片最大限度地提高每秒记录数,我想通过分片循环我的请求(我的应用程序逻辑不关心分片单个消息去哪
无法打开与monitoring.us-east-1.amazonaws.com:443的连接:连接到AWS kinesis时证书验证失败 public static KinesisProducer g
我正在将 Java API 用于 Kinesis Firehose,并在可能的情况下利用 putRecordBatch()。但是,在我的应用程序中,我偶尔只发送一条记录,无法等待更多记录或将其缓存在内
添加时aws-xray-recorder-sdk-aws-sdk-instrumentor KCL 提出 SegmentNotFoundException . 据我所知,这是因为 KCL 正在启动他们
我正在研究与移动分析相关的 AWS 服务,因为我们使用 AWS 作为我们的后端基础设施,现在想了解如何最好地利用 Pinpoint 和/或 Kinesis 以最终将事件存储在 S3 中以供以后分析。
Kinesis Firehose 以及 Kinesis Streams 用于根据 AWS 博客中提到的详细信息加载流数据。对于 Firehose,没有分片或维护的概念。在这种情况下,Kinesis F
Firehose 是完全托管的,而 Streams 是手动管理的。 如果其他人知道其他主要差异,请添加它们。我只是在学习。 谢谢.. 最佳答案 Amazon Kinesis Data Firehose
我正在做一个点击跟踪项目,我正在使用 Snowplow (开源)为此。我正在使用 Scala 扫雪机收集器来收集数据并将其路由到 Amazon Kinesis。但是,当我使用此配置启动它时: coll
我正在尝试发送 HTTP Post 请求以将记录放入 Amazon Kinesis Stream。有多种方法(Kinesis 客户端、KPL、将 AWS 网关设置为 Kinesis 代理)。 我看到了
我是一名优秀的程序员,十分优秀!