
kafka
kafka的相关知识分享
E等于MC平方
这个作者很懒,什么都没留下…
展开
-
不要被kafka的异步模式欺骗了
啥是异步模式kafka的生产者可以选择使用异步方式发送数据,所谓异步方式,就是我们调用 send() 方法,并指定一个回调函数, 服务器在返回响应时调用该函数。kafka在客户端里暴露了两个send方法,我们可以自己选择同步或者异步模式。我们来看一个kafka的生产者发送示例,有个直观的感受。这个示例是一个同步的模式。ProducerRecord<String, String> record = new ProducerRecord<>(“Kafka”, “Kafka_Prod原创 2020-06-13 21:32:12 · 2104 阅读 · 3 评论 -
带你了解下Kafka的客户端缓冲池技术
最近看kafka源码,着实被它的客户端缓冲池技术优雅到了。忍不住要写篇文章赞美一下(哈哈)。注:本文用到的源码来自kafka2.2.2版本。背景当我们应用程序调用kafka客户端 producer发送消息的时候,在kafka客户端内部,会把属于同一个topic分区的消息先汇总起来,形成一个batch。真正发往kafka服务器的消息都是以batch为单位的。如下图所示:这么做的好处显而易见...原创 2020-02-18 16:28:34 · 1571 阅读 · 0 评论 -
kafka的一些常用工具
文章目录环境工具新建topic查看topic列表删除某个topic查看有哪些消费组查看某个消费组的详情环境以下的操作都是基于kafka_2.11-2.2.0工具新建topicbin/kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partitions 2 --topic spring...原创 2020-01-29 21:26:54 · 902 阅读 · 0 评论 -
springboot整合kafka自动提交的问题
文章目录环境准备问题描述源码分析最近遇到一个springboot整合kafka设置手动提交不生效的问题,后来发现是自己的方法不对,走了一些弯路,这里记录一下。环境准备spring boot 2.1.6.RELEASE本地zk, 单节点kafka,版本是kafka_2.11-2.2.0新建一个topic,topic名是 spring-kafka-demo4,如下:bin/kafka-...原创 2020-01-26 20:11:11 · 4924 阅读 · 0 评论 -
使用kafka连接器迁移mysql数据到ElasticSearch
文章目录概述过程详解准备连接器工具数据库和ES环境准备配置连接器启动测试概述把 mysql 的数据迁移到 es 有很多方式,比如直接用 es 官方推荐的 logstash 工具,或者监听 mysql 的 binlog 进行同步,可以结合一些开源的工具比如阿里的 canal。这里打算详细介绍另一个也是不错的同步方案,这个方案基于 kafka 的连接器。流程可以概括为:mysql连接器监听数...原创 2019-12-10 20:23:02 · 934 阅读 · 0 评论 -
通过一个示例了解kafka connect连接器
什么是kafka连接器connect在实际工作中使用 kafka ,有时候会有类似这样的场景。我们需要把某些数据源的数据导入到 kafka,或者把 kafka 作为数据源导出数据。或者两种场景的需求都要。这算是一种 kafka 生产者,消费者模式的特殊使用场景。它主要服务于数据管道的场景,为此 kafka 在0.9版本开始增加了 connect 功能,这样可以很方便使得 kafka 可以作为数...原创 2019-11-20 08:30:43 · 1606 阅读 · 0 评论 -
从一个生产上的错误看kafka的消费再均衡问题
文章目录问题描述问题的分析kafka的topic分区心跳机制kafka的分区再均衡解决问题问题描述项目在生产上的一段错误日志如下,[commitSync] processed message to kafka failed, Just Ignore this commit, wait for next commit to make these messages processed.org.a...原创 2019-11-08 23:27:45 · 607 阅读 · 0 评论 -
kafka系列之camel-kafka
文章目录概述详解camel-kafka概述首先关于 camel 的基本概念和用法,以及 kafka 的基本概念和用法,这里就不啰嗦了。这篇文章假设你对二者都有基本的认识。camel 本身是一个路由引擎,通过 camel 你可以定义路由规则,指定从哪里(源)接收消息,如何处理这些消息,以及发往哪里(目标)。camel-kafka 就是 camel 的其中一个组件,它从指定的 kafka top...原创 2019-10-01 20:43:38 · 3966 阅读 · 0 评论 -
kafka系列之彻底弄清楚各版本差异
目录标题1、版本命名规则2、几个主要的里程碑0.8.2版本0.9版本1.0.0版本2.0.0版本2.2.03、关于客户端版本我自己用了 kafka 也挺久的了,关于kafka的版本规则,各个大版本的升级究竟做了哪些优化等,并没有特别的关注。本文打算做一个比较详细的整理。1、版本命名规则1.x之后,kafka 全面启用三位数的命名规则。也就是说,以前的版本都是这样色的,0.8.2.20...原创 2019-09-22 18:35:56 · 2061 阅读 · 0 评论 -
kafka系列之序列化和反序列化
文章目录简介基本原理分析自定义序列化组件测试简介kafka内部发送和接收消息的时候,使用的是byte[]字节数组的方式(RPC底层也是用这种通讯格式)。但是我们在应用层其实可以使用更多的数据类型,比如int,short,long,String等,这归功于kafka的序列化和反序列化机制。基本原理分析在之前的一篇文章springboot集成kafka示例中,我使用的是kafka原生的Str...原创 2019-08-16 20:03:28 · 5359 阅读 · 0 评论 -
kafka系列之springboot集成示例
源码地址:https://github.com/pony-maggie/spring-security-learncsdn博客地址:https://blog.youkuaiyun.com/pony_maggie/article/category/9058964个人博客地址:http://www.machengyu.net/spring-security.html本地kafka和zk环境我们需要...原创 2019-07-29 15:28:59 · 689 阅读 · 1 评论 -
Kafka系列之broker-list,bootstrap-server以及zookeeper
文章目录broker-listbootstrap-servers vs zookeeper我刚想kafka的时候,对这几个概念有时候会混淆,尤其是配置的时候经常搞不清楚它们的区别。这篇文章打算做一个梳理。broker-listbroker指的是kafka的服务端,可以是一个服务器也可以是一个集群。producer和consumer都相当于这个服务端的客户端。broker-list指定集群中...原创 2019-07-14 10:24:02 · 26635 阅读 · 4 评论