Java 使用高级使用者和简单使用者的kafka压缩
在我的应用程序中,我们使用的是Kafka高级消费者,如果生产者和消费者使用java API压缩和解压缩数据,它将使用解压缩后的数据,而不会出现任何问题 <> P>如果生产者使用<强> LabdkkaFa>强> C++ API进行压缩(SNAPY或GZIP)会发生什么?java使用者是否能够像在上述情况下一样透明地解压缩。消费者端的获取大小会发生什么变化?这是否也是透明处理的 如果卡夫卡消费者是使用简单消费者模型设计的,会发生什么?我们是否需要对来自生产者的压缩数据进行显式解压缩(假设<强> LabdkkaFa/Stult+C++ API使用)。p>Java 使用高级使用者和简单使用者的kafka压缩,java,c++,hadoop,apache-kafka,snappy,Java,C++,Hadoop,Apache Kafka,Snappy,在我的应用程序中,我们使用的是Kafka高级消费者,如果生产者和消费者使用java API压缩和解压缩数据,它将使用解压缩后的数据,而不会出现任何问题 P>如果生产者使用 LabdkkaFa>强> C++ API进行压缩(SNAPY或GZIP)会发生什么?java使用者是否能够像在上述情况下一样透明地解压缩。消费者端的获取大小会发生什么变化?这是否也是透明处理的 如果卡夫卡消费者是使用简单消费者模型设计的,会发生什么?我们是否需要对来自生产者的压缩数据进行显式解压缩(假设 LabdkkaFa/
我认为,在生产侧,强压缩> BrutkdkakA<强> C++ API时,高水平消费者可能无法工作。如果我在这里看到其他帖子,请澄清我的错误。与此相反,我发现另一个链接说,如果高级消费者使用,解压应该有效
感谢它们是兼容的,librdkafka使用与Scala/Java客户端相同的压缩和帧 增加
fetch.message.max.bytes
允许使用者在每个请求中获取更大的消息或更大批量的消息,但通常可以保留其默认值,除非生产者生成的消息大于此值-在这种情况下,您还需要增加message.max.bytes
压缩仅在生产者上配置,消费者端不需要配置,因为每条消息(或一批消息)都标有其压缩类型(无、snappy、gzip等)。所有这些分布式生产者/代理/消费者的主要思想是无缝、透明地相互协作。这意味着您不应该知道(和关心):
- 生产者是如何实现的
- 他们使用什么压缩(如果有)
- 有多少生产商/经纪人