15、消费者组到底是什么?

你好,我是胡夕。今天我要和你分享的主题是:Kafka的消费者组。 消费者组,即Consumer Group,应该算是Kafka比较有亮点的设计了。那么何谓Consumer Group呢?用一句话概括就是:Consumer Group是Kafka提供的...

Kafka核心技术与实战

14、幂等生产者和事务生产者是一回事吗?

你好,我是胡夕。今天我要和你分享的主题是:Kafka消息交付可靠性保障以及精确处理一次语义的实现。 所谓的消息交付可靠性保障,是指Kafka对Producer和Consumer要处理的消息提供什么样的承诺。常见的承诺有以下三种: 最多一次(at m...

Kafka核心技术与实战

13、生产者是如何管理TCP连接的?

你好,我是胡夕。今天我要和你分享的主题是:Kafka的Java生产者是如何管理TCP连接的。 为何采用TCP?Apache Kafka的所有通信都是基于TCP的,而不是基于HTTP或其他协议。无论是生产者、消费者,还是Broker之间的通信都是如此。...

Kafka核心技术与实战

12、客户端有哪些高级的功能?

你好,我是胡夕。今天我要和你分享的主题是:客户端都有哪些不常见但是很高级的功能。 既然是不常见,那就说明在实际场景中并没有太高的出场率,但它们依然是很高级很实用的。下面就有请今天的主角登场:Kafka拦截器。 什么是拦截器?如果你用过Spring I...

Kafka核心技术与实战

11、无消息丢失配置怎么实现?

你好,我是胡夕。今天我要和你分享的主题是:如何配置Kafka无消息丢失。 一直以来,很多人对于Kafka丢失消息这件事情都有着自己的理解,因而也就有着自己的解决之道。在讨论具体的应对方法之前,我觉得我们首先要明确,在Kafka的世界里什么才算是消息丢...

Kafka核心技术与实战

10、生产者压缩算法面面观

你好,我是胡夕。今天我要和你分享的内容是:生产者压缩算法面面观。 说起压缩(compression),我相信你一定不会感到陌生。它秉承了用时间去换空间的经典trade-off思想,具体来说就是用CPU时间去换磁盘空间或网络I/O传输量,希望...

Kafka核心技术与实战

9、生产者消息分区机制原理剖析

我们在使用Apache Kafka生产和消费消息的时候,肯定是希望能够将数据均匀地分配到所有服务器上。比如很多公司使用Kafka收集应用服务器的日志数据,这种数据都是很多的,特别是对于那种大批量机器组成的集群环境,每分钟产生的日志量都能以GB数,因此...

Kafka核心技术与实战

8、最重要的集群参数配置(下)

今天我们继续来聊那些重要的Kafka集群配置,下半部分主要是Topic级别参数、JVM参数以及操作系统参数的设置。 在上一期中,我们讨论了Broker端参数设置的一些法则,但其实Kafka也支持为不同的Topic设置不同的参数值。当前最新的2.2版本...

Kafka核心技术与实战

7、最重要的集群参数配置(上)

你好,我是胡夕。今天我想和你聊聊最最最重要的Kafka集群配置。我这里用了3个“最”字并非哗众取宠,而是因为有些配置的重要性并未体现在官方文档中,并且从实际表现看,很多参数对系统的影响要比从文档上看更加明显,因此很有必要集中讨论一下。 我希望通过两期...

Kafka核心技术与实战

6、Kafka线上集群部署方案怎么做?

专栏前面几期内容,我分别从Kafka的定位、版本的变迁以及功能的演进等几个方面循序渐进地梳理了Apache Kafka的发展脉络。通过这些内容,我希望你能清晰地了解Kafka是用来做什么的,以及在实际生产环境中该如何选择Kafka版本,更快地帮助你入...

Kafka核心技术与实战