弹窗视频网站,wordpress也没修改,建设工程合同无效的情形有,wordpress the7主题在kafka之旅#xff0c;我们会大量讨论Kafka中的术语#xff0c;那么就让我们先来了解一下这些核心概念 消息(Message)#xff1a; kafka的数据单元称为消息#xff0c;相当于DB里的一行数据或一条记录 消息由字节数组组成 批次#xff1a; 生产者组一批数据再向kafka推送… 在kafka之旅我们会大量讨论Kafka中的术语那么就让我们先来了解一下这些核心概念 消息(Message) kafka的数据单元称为消息相当于DB里的一行数据或一条记录 消息由字节数组组成 批次 生产者组一批数据再向kafka推送批次大小可以通过参数配置 把消息分成批次传输(消息属于同一个主题同一个分区)减少网络开销 批次越大单位时间内处理的消息越多单个消息传输时间越长 批次数据进行压缩吞吐量可达千万条消息每秒(rabblitMQ 只能达到万级消息/s延迟低微妙级) producer在向topic发送消息前会对这一批次消息进行压缩处理 压缩需要CPU进行计算对CPU性能有要求 压缩带来的磁盘空间和带宽的节省远大于CPU开销的代价这样的压缩是值得的 模式 数据序列化、反序列化方式
主题Topic 消息通过主题进行分类 生产者向指定Topic发送数据消费者订阅该Topic消费数据 逻辑概念相当于数据库里的表或文件系统的文件夹 分区Partition topic物理上的分组,就是把一个主题下的消息分散存储 通常一个topic下的分区分散在kafka集群的不同实例broker上producer向一个topic发送消息会发送给不同分区中这样消息就可以实现并行发送与处理增加吞吐量 当一台机器能力不足时可以通过添加机器横向扩展broker在新的机器上创建分区这样就可以实现无限水平扩展 一个主题可以有多个分区,可以横向扩展 Kafka 通过分区来实现数据冗余和伸缩性 消息顺序写入分区每个分区时一个有序队列kafka不保证跨分区消息有序 片段Segment: 每个分区物理上由多个segment组成实际存储消息的物理文件一个片段默认大小为1GB,可以通过配置文件修改,当消息追加到1GB大小后会创建新的segment文件 一个segment包含3个文件命名规则每个segment文件最后一条消息offset的值没有数字用0补充 00000000000000000000.index 索引文件 00000000000000000000.log 数据文件实际存储消息数据的文件二进制格式 00000000000000000000.timeindex 基于消息日期的索引文件 根据日期或者时间查找消息 消费者组 消费者组保证每一个分区消息只被消费者组内一个消费者消费 broker: 每个broker就是kafka集群一个实例一个节点一台独立的服务器 broker 接收来自producer的message为message设置offset提交消息到磁盘保存 broker为consumer提供服务对consumer读取分区消息的请求做出响应 单个broker可以处理多个分区、每秒百万级吞吐量 集群