kafka的idempotence 
      生产者 
    
      服务器 
    
      分区文件 
    
      正常流程 
    
    发送record(PID, Seq) 
  
    写入磁盘 
  
    检查PID的Seq是否 > CurrentSeq 
  
    正常ACK 
  
      异常流程 
    
    发送re            
                
         
            
            
            
                从来没写过Blog,想想也是,工作十多年了,搞过N多的架构、技术,不与大家分享实在是可惜了。另外,从传统地ERP行业转到互联网,也遇到了很所前所未有的问题,原来知道有一些坑,但是不知道坑太多太深。借着填坑的机会,把过程Log下来。    言归正传,先说说背景吧。Teld的业务平台中存在大量的物联网终端传感数据和车辆运行数据,这些数            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-07 09:58:40
                            
                                40阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             文章目录分区的分配以及再平衡Range 以及再平衡RoundRobin 以及再平衡Sticky 以及再平衡 分区的分配以及再平衡参数名称描述heartbeat.interval.msKafka 消费者和 coordinator 之间的心跳时间,默认 3s。该条目的值必须小于 session.timeout.ms,也不应该高于session.timeout.ms 的 1/3。session.tim            
                
         
            
            
            
            1.kafka consumer流程1.1.在启动时或者协调节点故障转移时,消费者发送ConsumerMetadataRequest给bootstrap brokers列表中的任意一个brokers。在ConsumerMetadataResponse中,它接收消费者对应的消费组所属的协调节点的位置信息。1.2.消费者连接协调节点,并发送HeartbeatRequest。如果返回的Heartbeat            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-21 08:06:45
                            
                                156阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            基于kafka 2.12-2.0.0版本kafka-clients 2.0.0本文是《深入理解Kafka核心设计与实践原理》的读书笔记、再均衡部分有在网上找资料。一、消费者代码demo讲解<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-27 17:04:55
                            
                                9阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Kafka 消息幂等性enable.idempotence=true。设置了这个参数后,Producer自动升级成幂等性Producer。 两个重要机制: 1、Producer Id,幂等性的生产者每个客户端都有一个唯一编号id。 2、sequence number,幂等性的生产者发送的每条消息都会带相应的sequence number,Server端就是根据这个值来判断数据是否重复。如果发现se            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-28 06:16:41
                            
                                133阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Tags: kafkaCentos7.5安装kafka集群 Centos7.5安装kafka集群
主机环境软件环境主机规划主机安装前准备安装jdk1.8安装zookeeper安装kafkakafka基本操作
kafka基本操作安装管理监控工具Kafka-Manager 主机环境基本配置:节点数3操作系统CentOS Linux release 7.5.1804 (Core)内存            
                
         
            
            
            
            代码生成器,目标语言,目标代码中的地址代码生成器代码生成器的是生成正确的代码,代码生成器的设计依赖于中间表示形式,目标语言和运行时刻系统的特定细节;要解决指令选择,寄存器分配和指令排序等问题。代码生成器的输入输入由前端生成的源程序的中间表示形式以及符号表中的信息构成中间语言的表示形式:三地址表示,如三元式,四元式虚拟机表示,如字节代码和堆栈机代码线性表示,如后缀表示图形表示,如语法树和DAG目标程            
                
         
            
            
            
            文章目录前言Group 状态机offset 那些事Topic __consumer_offsetsGroupCoordinator状态转移图Consumer 初始化Consumer poll 过程解析Consumer 初始化时 group 状态变化Consumer Rebalance 前言前段时间看一下 Kafka 的部分源码(0.10.1.0 版),对一些地方做了一些相应的总结。本文主要就 K            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-04 16:38:32
                            
                                176阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             在windows和centos上面安装mysql写在前面windows下载windows版本的mysql免安装压缩包解压到指定目录安装服务编写mysql配置文件初始化mysql配置环境变量centos下载centos版本的mysql免安装压缩包创建mysql用户和mysql用户组创建mysql的数据目录编写my.cnf配置文件初始化mysql启动mysql服务修改mysql root账号默认密码            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-11 21:24:56
                            
                                87阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            使用注解的方式不能动态创建消费者,而且需要改变原代码,并重启项目,这往往只会增加后期维护成本。如题目所示,动态创建消费者,在现实的应用场景中显得越来越重要。 文章目录一、创建业务表(可以根据实际业务场景进行字段添加)二、插入测试数据三、创建表对应的实体类四、创建kafka核心配置类五、创建线程池配置类六、编写业务接口,动态配置kafka七、创建controller层,用于接口调用八、使用postm            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-16 01:57:34
                            
                                142阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            什么是 Kafka
Kafka 是由 Linkedin 公司开发的,它是一个分布式的,支持多分区、多副本,基于 Zookeeper 的分布式消息流平台,它同时也是一款开源的基于发布订阅模式的消息引擎系统。Kafka 的基本术语消息:Kafka 中的数据单元被称为消息,也被称为记录,可以把它看作数据库表中某一行的记录。批次:为了提高效率, 消息会分批次写入 Kafka,批次就代指的是一组消息。主题:            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-01 10:47:31
                            
                                21阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
              看了这两篇关于事务id的资料,我有些疑问: 两篇文章里都讲了transactional.id是用户自己设置的,而且transactional.id与producerId在事务管理器中是一一对应关系。即transactional.id作为key,producerId作为value这样的键值对方式存储在事务管理器中,当producer恢复时,会通过用户自己指定的tra            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-03 22:18:55
                            
                                44阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            发行说明 - Kafka - 版本2.0.1以下是Kafka 2.0.1版本中解决的JIRA问题的摘要。有关该版本的完整文档,入门指南以及有关该项目的信息,请参阅Kafka项目站点。有关升级的注意事项:在升级群集之前,请仔细查看此版本的 升级文档。升级说明讨论了有关不兼容性和重大更改,性能更改以及可能影响Kafka生产部署的任何其他更改的所有重要信息。可以在http://kafk            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-18 10:16:16
                            
                                36阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            请求包括头部和请求体。请求体因请求类型不同而不同,请求头部格式固定包括:api_key:请求类型如producer请求/fetch请求/元数据请求api_version:给定一请求类型的具体版本correlation_id:类似request_id,用于定位问题client_id:发送该请求的客户端ID响应也分为头部和响应体,响应头部格式固定:correlationd_id:请求字段中的corre            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-04 21:37:33
                            
                                22阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            文章目录前言分区目录分段日志和索引消息具体结构消息日志与索引关系消息日志(.log)偏移量索引(.index)时间索引(.timeindex)通过索引检索消息过程通过时间戳检索消息一批消息创建时间不一致通过偏移量检索消息参考链接 前言以kafka_2.13-2.8.0为例,分析Kafka消息在磁盘上的存储结构、配置以及如何通过索引找到具体的消息数据。分区目录一个分区(Partition)有1到多            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-20 19:55:49
                            
                                40阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1. broker.id参数说明:broker的唯一标识id,默认值为-1,如果不指定Kafka会自动生成一个id。生产环境推荐设置从0开始,按1递增的数字,比如0,1,2,3...等。2. log.dirs参数说明:设置Kafka持久化消息的数据目录,如果不设置Kafka会将消息持久化到/tmp/kafka-logs,通常都需要我们手动设置。多个目录逗号分隔,也就是一个csv列表。调优建议:这是            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-10 09:13:17
                            
                                16阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            「一面天堂,一面地狱」恐怕是 Kafka 消费者组(Consumer Group)最真实的写照。作为 kafka 中一个非常有特色的设计,消费者组为 Kafka 实现了 2 种非常典型的消息模型,其强大的伸缩性为Kafka 的牛 x 立下了汗马功劳,但是又因为它“臭名昭著”的再均衡(Rebalance),引出了不少难以琢磨的问题,一正一邪,让人欣喜的同时,又让人痛恨不已。1. 消费者组面            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-18 17:18:05
                            
                                31阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            创建项目,引入依赖:<!-- 引入Kafka依赖   -->
        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-clients</artifactId>
            &            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-15 05:39:18
                            
                                75阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言整理文档的时候发现还缺了有关操作Group ID的内容,这部分其实和ACL的操作是一起的,但是篇幅有限单独拿出来说,AdminClient对象里关于Group ID的操作还是挺多内容可以说说的,下面我们正式开始。查询所有Group ID首先我们先说下如何查询当前服务器上所有使用过的Group ID。这里要特别强调使用过,因为这个方法是无法查询到没有连接的Group ID的。假设我们新创建了一个            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-04 11:19:33
                            
                                1839阅读