【问题标题】:Confluent Kafka REST Proxy streaming methodsConfluent Kafka REST 代理流式传输方法
【发布时间】:2018-10-22 04:27:33
【问题描述】:

我正在尝试使用使用 REST 代理的 Confluent Kafka 流数据平台。

我从以下路径看到了文档,

https://docs.confluent.io/current/kafka-rest/docs/intro.html

他们有各种使用 REST 代理 API 的蒸汽方法:

我假设“Produce and Consume Binary Messages”是针对流媒体文件或其他文件的?

我假设“生产和使用 JSON 消息”用于流式传输 Json 数据?

我怀疑“生产和使用 JSON 消息”与“生产和使用 Avro 消息”与“生产和使用二进制消息”之间的确切区别是什么。

谁能解释一下,因为他们没有详细的文档。

【问题讨论】:

    标签: rest apache-kafka confluent-platform


    【解决方案1】:

    所有 Kafka 数据都是二进制数据。 Avro 是一种恰好具有结构化模式的二进制数据。

    文件也是二进制的,但 Kafka 不适用于文件传输 - 例如。 1) Kafka 协议中存在最大消息大小,2) Kafka 旨在水平扩展,文件不应跨分区分布,3) 如果文件损坏,您无法轻松确定文件的开始和结束位置分开。

    REST 代理文档中显示的二进制格式是 base64 字符串,以文本形式发送,但经过解码并以原始二进制形式存储在代理中。换句话说,如果您有一个可以编码为小于有效负载限制的 base64 字符串的文件,那么当然可以发送它,但这不是该格式的主要目的——而是用于可以表达的自定义格式作为字符串表示,由于技术(或历史)原因,无法转换为 JSON 或 Avro。

    JSON 和其他人类可读的格式是纯文本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-17
      • 2016-06-21
      • 1970-01-01
      • 2015-12-12
      相关资源
      最近更新 更多