
kafka
波波仔86
生活与技术并发!
展开
-
为什么Kafka使用的是磁盘而不是内存并可以高效快速的存储
1.顺序写入 因为硬盘是机械结构,每次读写都会寻址->写入,其中寻址是一个“机械动作”,它是最耗时的。所以硬盘最“讨厌”随机I/O,最喜欢顺序I/O。为了提高读写硬盘的速度,Kafka就是使用顺序I/O。如果一个topic建立多个分区那么每个parathion都是一个文文件,收到消息后Kafka会把数据插入到文件末尾。 2. Memory Mapped Files(内存映...转载 2019-01-25 14:55:56 · 2347 阅读 · 0 评论 -
分布式架构之消息队列
消息队列概述 消息队列中间件事分布式系统中重要的组件,主要解决应用耦合,异步消息,流量消峰等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。消息队列是怎样工作的消息队列系统,一般都包含3个角色:队列服务端,队...转载 2019-01-15 20:33:41 · 441 阅读 · 0 评论 -
Ubuntu安装Kafka
1、JDK安装配置由于Kafka是用Scala语言开发的,运行在JVM上,因此在安装Kafka之前需要先安装JDK。最新版本的Kafka需要运行在JDK1.7以上,Kafka官方推荐使用JDK1.8。这里我们也采用jdk1.8。在/usr/local目录下创建java文件夹,并把jdk上传到此文件夹下,解压。tar -xvf jdk-8u101-linux-x64.tar.gz在...原创 2019-08-27 20:49:18 · 684 阅读 · 0 评论 -
kafka分区知识点
概念topic物理上的分组,一个topic可以分为多个partition,每个partition是一个有序的队;在磁盘上以文件夹的形式存在;消息最终以文件形式保存在partition文件夹下面,分段存储。segment文件:对于一个partition(在Broker中以文件夹的形式存在),里面又有很多大小相等的segment数据文件(这个文件的具体大小可以在config/server.p...转载 2019-09-03 22:37:50 · 198 阅读 · 0 评论 -
深入解析Kafka消费者——提交和偏移量
KafkaConsumer(消费者)每次调用 poll()方法,它总是返回由生产者写入 Kafka但还没有被消费者读取过的记录, 我们因 此可以追踪到哪些记录是被群组里的哪个消费者读取的。之前已经讨论过, Kafka 不会像其他 JMS 队列那样需要得到消费者的确认,这是 Kafka 的一个独特之处。相反,消 费者可以使用 Kafka来追踪消息在分区里的位置(偏移量)。我们把更新分区当前位置的...转载 2019-09-19 10:57:48 · 1515 阅读 · 0 评论 -
查看kafka消息队列的积压情况
查看消息的堆积情况,执行命令:./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group ruleLogEndOffset 下一条将要被加入到日志的消息的位移CurrentOffset 当前消费的位移LAG 消息堆积量消息堆积量:消息中间件服务端中所留存的消息与消费掉的消息之间...原创 2019-09-20 15:27:34 · 16372 阅读 · 2 评论 -
Zookeeper在kafka中作用
1、Broker注册Broker是分布式部署并且相互之间相互独立,但是需要有一个注册系统能够将整个集群中的Broker管理起来,此时就使用到了Zookeeper。在Zookeeper上会有一个专门用来进行Broker服务器列表记录的节点:/brokers/ids每个Broker在启动时,都会到Zookeeper上进行注册,即到/brokers/ids下创建属于自己的节点,如/broke...转载 2019-09-21 11:34:14 · 287 阅读 · 0 评论 -
kafka分区副本机制
Kafka为分区引入了多副本(Replica)机制,通过增加副本数量可以提升容灾能力。同一分区的不同副本中保存的是相同消息(在同一时刻,副本之前并非完全一样),副本之间是“一主多从”的关系,其中leader副本负责处理读写请求,follower副本只负责与leader副本的消息同步。副本处于不同的broker中,当leader副本出现故障时,从follower副本中重新选举...原创 2019-09-21 15:04:01 · 1598 阅读 · 0 评论 -
kafka生成者—分区器详解
我们知道,Kafka中的每个Topic一般会分配N个Partition,那么生产者(Producer)在将消息记录(ProducerRecord)发送到某个Topic对应的Partition时采用何种策略呢?Kafka中采用了分区器(Partitioner)来为我们进行分区路由的操作。本文将详细讨论Kafka给我们提供的分区器实现DefaultPartitioner,当然我们也可...转载 2019-09-23 19:43:03 · 478 阅读 · 0 评论