
kafka
文章平均质量分 56
青龙悟空
goooooooooooooooooooo
展开
-
kafka topic
回顾kafka极简入门(二)--安装topic是kafka的生产者和消费者最小交互的单位,我们先从topic入手,创建第一个topic. 进去kafka的bin目录我们发现有个kafka-topics.sh脚本 1.创建topic官方推荐如果kafka版本大于等于2.2使用--bootstrap-server替代--zookeeper(2.2以上也兼容--zookeeper)命令如下kafka-topics.sh --create --bootstrap-serv...原创 2021-03-25 14:20:12 · 1113 阅读 · 0 评论 -
Kafka为什么吞吐量大、速度快
Kafka是大数据领域无处不在的消息中间件,目前广泛使用在企业内部的实时数据管道,并帮助企业构建自己的流计算应用程序。Kafka虽然是基于磁盘做的数据存储,但却具有高性能、高吞吐、低延时的特点,其吞吐量动辄几万、几十上百万。但是很多使用过Kafka的人,经常会被问到这样一个问题,Kafka为什么速度快,吞吐量大;大部分被问的人都是一下子就懵了,或者是只知道一些简单的点,本文就简单的介绍一下Kafka为什么吞吐量大,速度快。一、顺序读写众所周知Kafka是将消息记录持久...原创 2021-02-28 20:25:38 · 308 阅读 · 0 评论 -
kafka Exactly Once语义
将服务器的ACK级别设置为-1,可以保证Producer到Server之间不会丢失数据,即At Least Once语义。相对的,将服务器ACK级别设置为0,可以保证生产者每条消息只会被发送一次,即At Most Once语义。At Least Once可以保证数据不丢失,但是不能保证数据不重复;相对的,At Least Once可以保证数据不重复,但是不能保证数据不丢失。但是,对于一些非常重要的信息,比如说交易数据,下游数据消费者要求数据既不重复也不丢失,即Exactly Once语义。在0.11版本原创 2021-02-04 21:09:02 · 231 阅读 · 0 评论 -
kafka分区(partition)和和分组(group)
每个consumer只能消费指定的几个分区。那么消息如果没有发到监听的分区,那么那个消费者就不能获取到这次发送的消息。下面的例子一定要注意对分区和分组的理解,不然会不知道为什么会得出那样的结论消费组中的消费者会怎么取kafka的数据,看下方的介绍----来自网络1.其中 broker有两个,也就是服务器有两台。2.partition有6个,按照哈希取模的算法分配。3.消费者有8个,他们属于同一个消费组。那么这一个消费组中的消费者会怎么取kafka的数据呢?其实kafka的消费端有一个均.原创 2021-01-25 20:46:21 · 2045 阅读 · 0 评论 -
kafka如何更好的规划Topic分区
背景: 如同其他分布式系统一样,在kafka集群中,单Topic的partition也并不是越多越好,但通常对于业务方来说,可能会简单的根据生产者或消费者的处理能力来提出扩partition的需求,此时就需要根据具体的场景进行分析以确定partition的数量。对于Kafka集群承载的业务Topic来说,分区的数量,可以体现出整个业务的量级同时能够尽可能的提供更高的吞吐,但并不是越多的分区就意味着越高的吞吐和处理能力,通常情况下需要业务方和基础服务方一起来进行分析。以下为多分区Topic的优缺点.原创 2021-01-24 17:10:19 · 919 阅读 · 0 评论 -
Kafka高并发原理概述
Kafka高并发原理概述Kafka是高吞吐低延迟的高并发、高性能的消息中间件,在大数据领域有极为广泛的运用。配置良好的Kafka集群甚至可以做到每秒几十万、上百万的超高并发写入。那么Kafka到底是如何做到这么高的吞吐量和性能的呢?这篇文章我们来一点一点说一下。1、页缓存技术 + 磁盘顺序写首先Kafka每次接收到数据都会往磁盘上去写,如下图所示。那么在这里我们不禁有一个疑问了,如果把数据基于磁盘来存储,频繁的往磁盘文件里写数据,这个性能会不会很差?大家肯定都觉得磁盘写性能是极差的。原创 2021-01-24 17:06:18 · 493 阅读 · 0 评论 -
Kafka中的topic和partition
在Kafka中,topic是一个存储消息的逻辑概念,可以认为是一个消息集合。物理上来说,不同的Topic的消息是分开存储的,每个topic可以胸个生产者向它发送消息,也可以有多个消费者去消费其中的消息。每个topic可以划分多个分区,同一topic下的不同分区包令的消息是不同的。每个消息在被添加到分区时,都会分配一个offset,它是消息在此分区中唯一编号 ,Kafka通过offset保证消息在分区内的顺序,offset的顺序不跨分区,即Kafka中保证在同一个分区内的消息是有序的。producer原创 2021-01-24 14:28:41 · 1549 阅读 · 0 评论 -
Kafka上对一个Topic增加partition
操作步骤如下:通过kafka-topics.sh工具的alter命令,将topic_test的partitions从12增加到20;./bin/kafka-topics.sh –zookeeper 192.168.2.225:2183/config/mobile/mq –alter –partitions 20 –topic topic_test原创 2021-01-24 13:13:39 · 866 阅读 · 0 评论 -
Kafka消息的分发
Kafka消息的分发Producer客户端负责消息的分发 kafka集群中的任何一个broker都可以向producer提供metadata信息,这些metadata中包含”集群中存活的servers列表”/”partitions leader列表”等信息; 当producer获取到metadata信息之后, producer将会和Topic下所有partition leader保持socket连接; 消息由producer直接通过socket发送到broker,中间不会经过任何”路由层”.原创 2021-01-24 12:58:45 · 506 阅读 · 0 评论 -
Kafka Consumer与topic关系
本质上kafka只支持Topic; 每个group中可以有多个consumer,每个consumer属于一个consumer group; 通常情况下,一个group中会包含多个consumer,这样不仅可以提高topic中消息的并发消费能力,而且还能提高"故障容错"性,如果group中的某个consumer失效那么其消费的partitions将会有其他consumer自动接管。 对于Topic中的一条特定的消息,只会被订阅此Topic的每个group中的其中一个consumer消费,此消原创 2021-01-24 12:40:59 · 2442 阅读 · 0 评论 -
Kafka分区与分组原理
topic中partition存储分布Topic在逻辑上可以被认为是一个queue。每条消费都必须指定它的topic,可以简单理解为必须指明把这条消息放进哪个queue里。为了使得 Kafka的吞吐率可以水平扩展,物理上把topic分成一个或多个partition,每个partition在物理上对应一个文件夹,该文件夹下存储 这个partition的所有消息和索引文件。partiton命名规则为topic名称+有序序号,第一个partiton序号从0开始,序号最大值为partitions数量减1。.原创 2021-01-24 12:10:52 · 538 阅读 · 0 评论 -
Kafka基础架构
定义Kafka是一个分布式的基于发布/订阅模式的消息队列,主要应用于大数据实时处理领域。Kafka基础架构(1)Producer :消息生产者,就是向kafka broker发消息的客户端;(2)Consumer :消息消费者,向kafka broker取消息的客户端;(3)Consumer Group (CG):消费者组,由多个consumer组成。消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个消费者消费;消费者组之间互不影响。所有的消费者都属于某个消费者组,即消费者组原创 2020-12-28 16:20:22 · 134 阅读 · 0 评论