【问题标题】:how can i compress a larger data (5MB JSON) and sending to Kinesis stream as producer and decompress it while consuming it?如何压缩较大的数据(5MB JSON)并作为生产者发送到 Kinesis 流并在使用时解压缩?
【发布时间】:2020-10-31 01:23:34
【问题描述】:

我有这样的要求:

there is payload which is sizing up to 5MB or +
we need to compress this data and then pushed the compressed data to Kinesis
after pushing this data, when we consume this, we need to decompress it...

我的客户要求我使用所有可用的压缩方法并选择最好的方法。有趣的是,我对此很陌生,不知道该怎么做。我以前从未听说过。我正在使用 python 代码来生成数据。

如果有人以前有过这方面的经验,请分享您的想法或指导我吗?

注意:我可以看到使用 S3 存储数据的许多要点,但客户端不需要该方法

【问题讨论】:

标签: json amazon-web-services gzip producer-consumer amazon-kinesis


【解决方案1】:

解决问题的两种方法:

  1. 将其拆分为多个较小的有效负载。消费者必须能够根据您的有效载荷的部分 id 重建有效载荷。
  2. 将大负载数据存储在流之外,例如在 S3 中,只需在消息中发送大文件的元数据(例如 s3 路径)。

但最终,如果这两个选项中的任何一个都不适合您,那么您可能需要考虑 Kinesis 不是适合这项工作的工具。我认为 Apache Kafka 可以支持大于 1MB 的消息。

【讨论】:

  • 我看到这个答案只是复制粘贴,但没有给出确切的解决方案
猜你喜欢
  • 2012-11-01
  • 2011-01-21
  • 2020-02-05
  • 1970-01-01
  • 2019-01-03
  • 2014-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多