![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Kafka 系列
文章平均质量分 88
哆啦酱不加班
把摸鱼的时间用来学习
展开
-
Kafka系列七存储机制
Kafka 在设计之初就将数据的持久化视为通常情况,关注点放在了吞吐量而不是功能。Kafka 采取简单的读取和内容附加到日志文件中,这种操作的好处是读写都是O1的复杂度,而且读取不影响写入操作。除此之外,数据量的大小对性能几乎没有影响,对于过期的数据也能采取简单方式删除。Kafka 之所以采用这种读写方式,是因为对磁盘的线性读写比随机读写的性能要快得多,磁盘的线性读在有些情况下甚至比内存的随机访问要快。原创 2023-08-31 12:25:40 · 49 阅读 · 0 评论 -
Kafka系列六集群管理
在这种模式下,对于 f+1 个副本,一个 Kafka topic 能在保证不丢失已经 commit 消息的前提下容忍 f 个副本的失败,在大多数使用场景下,这种模式是十分有利的。事实上,为了容忍 f 个副本的失败,“少数服从多数”的方式和 ISR 在 commit 前需要等待的副本的数量是一样的,但是 ISR 需要的总的副本的个数几乎是“少数服从多数”的方式的一半。为了保证集群的高可用性,Kafka 的分区可以设置为多副本的,这样在某个副本丢失的情况下,可以从其他的副本中获取信息。原创 2023-08-31 12:24:51 · 63 阅读 · 0 评论 -
Kafka系列五消费者
与生产者对应的是消费者,应用程序可以通过 KafkaConsumer 来订阅主题,从主题中拉取消息。使用 KafkaConsumer 之前需要先理解消费者和消费者组的概念。原创 2023-08-31 12:24:08 · 184 阅读 · 0 评论 -
Kafka系列四生产者
如果要按照自身的需要去设计分区逻辑,可以自定义一个分区器,只需要实现 Partitioner 接口,然后在启动的时候,指定对应的分区器即可。props.put(ProducerConfig.PARTITIONER_CLASS_CONFIG, "自定义分区器的全限定名");原创 2023-08-31 12:22:53 · 99 阅读 · 0 评论 -
Kafka系列三基础概念
Kafka 是一款分布式消息发布和订阅系统,其高性能、高吞吐量的特点决定了其适用于大数据传输场景。原创 2023-08-31 12:20:37 · 41 阅读 · 0 评论 -
Kafka系列二消息队列的选择
了解完消息队列的基本信息之后,接下来我们可以考虑消息队列的技术选型问题。目前使用较多的消息队列有 ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ 等,以及数据库Redis 也可以实现消息队列的效果。实际使用中应该使用哪一种呢?解析来我们看一看主流消息队列的特性。原创 2023-08-31 12:17:13 · 51 阅读 · 0 评论 -
Kafka系列一消息队列
消息队列是分布式系统中的重要组件,也是Java开发中常用的技术点之一。使用消息队列可以解决模块间的解耦、流量削峰、异步消息,提高系统的可用性、稳定性以及性能。原创 2023-08-31 12:07:56 · 81 阅读 · 0 评论