Kafka
文章平均质量分 89
程序猿洞晓
不忘初心,方得始终。
展开
-
Kafka学习笔记(五):消费者偏移量提交、独立消费者、再均衡监听器以及消费者对重复消费、消息丢失问题的解决
再均衡的概念以及触发的情况都在上一篇文章中做了说明。再均衡的执行过程是造成重复消费、消息丢失的主要原因。另外消费者偏移量如何提交,如何保证再均衡后,消费者能够从上次执行到的偏移量开始消费,防止重复消费和丢失问题,都将在这篇文章中体现。 接下来书写的基本思路:知道消费者提交偏移量到Kafka的几种方式、再均衡监听器、再均衡监听器配合消费者提交机制做到不丢失消息也不重复消费的解决方案。最后说一下独立消费者的使用。 消费者偏移量提交 自动提交 自动提交配置参数enable.auto.commit,默认值是true原创 2022-03-12 22:59:44 · 2493 阅读 · 0 评论 -
Kafka学习笔记(三):Kafka的第一个HelloWorld
基本概念、基本配置都有啦,Kafka已经启动起来,接下来就是写一个HelloWorld,创建生产者和消费者连接Kafka,做消费和生产的动作啦。 引入依赖 这里引入依赖需要小心,如果没有做相关的了解很容易引入jar包不可用,导致一直有错误。在下载Kafka的时候,Kafka的压缩包的名称都类似这样kafka_2.11-0.10.1.1。其中2.11是代表Kafka的版本,0.10.1.1代表的是客户端的版本。所以在项目中引入Kafka的客户端jar的时候一定要和这个版本对应上,并不是越高越好。 maven的原创 2022-03-12 22:56:54 · 2053 阅读 · 0 评论 -
Kafka学习笔记(二):Kafka之常用配置文件核心内容
上一篇了解了Kafka的基本概念,主要是日志、主题、分区、生产者、消费者、消费者群组、偏移量、消息和批次以及Broker和集群。这些基本概念了解以后就是上手自己下载Kafka,安装起来。安装Kafka很简单,就是将下载的压缩包解压出来,首先启动zookeeper,然后再启动Kafka服务。启动zookeeper、Kafka的时候都需要指定配置文件,zookeeper不是本系列文章的主要内容,就不多说,使用默认的zookeeper配置就可以。同样Kafka启动使用默认配置也可以,但是为了学习Kafka,还是需原创 2022-03-12 22:55:00 · 777 阅读 · 0 评论 -
Kafka学习笔记(一):Kafka基本概念理解
ActiveMQ、RabbitMQ是用的比较多得消息队列,但是随着时间的推移,大数据的应运而生,这两种消息队列使用的也是越来越少了,Kafka渐渐进入开发人员的视线,再加上Kafka天生的集群运行、大数据量的处理能力,以及数据的持久化能力等,主导地位也是必然的事情。 Kafka的前世今生 Kafka最初是LinkedIn的一个内部基础设施系统。最初开发的起因是,LinkedIn虽然有了数据库和其他系统可以用来存储数据,但是缺乏一个可以帮助处理持续数据流的组件。所以在设计理念上,开发者不想只是开发一个能够存储原创 2022-03-12 22:53:10 · 2145 阅读 · 0 评论 -
Kafka学习笔记(四):自定义序列化器、反序列化器、分区器以及分区再均衡策略
序列化器、反序列化器以及分区器都有所了解,Kafka客户端提供默认的7种方式基本够用了,但是对于一个大型复杂的项目群里面,总是会有特殊的要求,这个时候就需要自己去定义相关的序列化器和反序列化器。另外就是自定义分区器,这个应用的可能会多一点,根据实际业务将消息发送到指定的分区中。 自定义序列化器 自定的序列化器并不难,只要遵循序列化器的规矩就可以。实现Kafka提供的Serializer序列化接口,在serialize方法中写入具体序列化的实现代码即可。如下代码: //实现Serializer<T>原创 2022-03-12 22:58:07 · 1766 阅读 · 0 评论