07 2022 档案
摘要:在学习Kafka的途中,我总结了一个系列的Kafka学习征途系列教程,它只选取了我认为最实用的部分整理出来,以及结合我最熟悉的.NET技术栈进行了演示。而一些我觉得在实际中用处不大的部分我没有整理,比如:重平衡机制等,这些可能对于面试会有用,不过我不是抱着面试八股文的目的来总结这个系列的,所以大家可以自行搜索学习。
阅读全文
摘要:本文总结了Kafka KRaft模式的基本概念和优点,介绍了Kafka KRaft模式的部署过程。基于KRaft模式,我们不再需要依赖Zookeeper进行元数据管理和共识服务,在技术选型时不再需要引入额外的组件,对于Kafka来说,实在是个好消息。
阅读全文
摘要:Offset,消息位移,它表示分区中每条消息的位置信息,是一个单调递增且不变的值。换句话说,offset可以用来唯一的标识分区中每一条记录。本文总结了offset的基础概念、存储位置、消费方式,扩展了两个常见问题:漏消费与重复消费,引出了一个消费数据积压问题,希望能对你有所帮助!
阅读全文
摘要:Kafka默认提供了多个命令行脚本,用于实现各种各样的功能和运维管理。从2.2版本开始,提供了多达30+个Shell脚本。本文总结了Kafka提供的两组最常用也最实用的工具Shell脚本,分别cover了测试生产和消费,以及 压测生产和消费 的两个场景,希望对你有所帮助。
阅读全文
摘要:流处理给人的印象是低延时,但是结果可能不太精确。而批处理则相反,它能提供精确的结果,但是往往存在高时延。本文总结了Kafka Streams的基本概念与执行流程,并结合Kafka Streams .NET客户端给出了一个Kafka Streams应用程序的示例。
阅读全文
摘要:通常来说,任何系统调优的目标都是为了满足系统常见的非功能性需求,而性能则是众多非功能性需求中最重要的一个。不同的系统对性能的侧重点不同,DB的话性能是响应时间,而对于Kafka等MQ来说,则意味着吞吐量和延时。本文总结了Kafka调优的目的和方法论,并直接给出了调优Kafka的关键参数配置,可以直接用于生产环境。
阅读全文
摘要:在实际环境中,用户似乎总是愿意用较小的延时增加的代价,去换取 TPS 的显著提升。毕竟,从 2ms 到 10ms 的延时增加通常是可以忍受的。本文介绍了提高producer吞吐量 与 提高消息可靠性 的实践,重点介绍了在Confluent.Kafka组件下如何进行配置的代码实践,相信会对你有所帮助。
阅读全文
摘要:集群部署“兵马未动,粮草先行”,与其盲目上马一套Kafka环境然后事后费力调整,不如一开始就思考好实际场景下业务所需的集群环境。本文从Kafka集群众多的参数配置项选取了一些特别特别重要的参数配置做了介绍,相信了解这些参数配置之后,对于我们后续优化Kafka集群配置会大有裨益。
阅读全文
摘要:作为一个.NET Developer,自然想要在.NET项目中集成Kafka实现发布订阅功能。本文总结了.NET Core如何通过对应客户端操作Kafka,基于Confluent.Kafka项目和CAP项目可以方便的实现发布订阅的效果。
阅读全文
摘要:本文总结了Kafka的测试环境搭建过程,本文选择的是基于Docker来搭建非宿主机直接搭建,加之官方并没有推出官方的Docker镜像,因此建议生产环境还是不要通过Docker来搭建,开发/测试环境是可以的,快速且高效。
阅读全文