kafka
文章平均质量分 88
kafka
959y
奋斗ing
展开
-
kafka理论概述
Kafka文章目录Kafka1. 消息队列概述2. 消息队列应用场景2.1异步处理2.2应用解耦1. 消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ2. 消息队列应用场景以下介绍消...原创 2020-03-23 11:22:40 · 371 阅读 · 0 评论 -
RocketMQ和Kafka的差异对比
RocketMQ和Kafka的差异对比原创 2022-05-28 17:34:21 · 2312 阅读 · 0 评论 -
Kafka 和 RocketMq 的对比
Kafka 和 RocketMq 的对比转载 2022-05-28 17:28:28 · 1073 阅读 · 1 评论 -
如何保证Mq消息不丢失
mq: rabbitmq, rocketmq, kafka原创 2022-05-12 14:27:40 · 4534 阅读 · 0 评论 -
kafka的数据结构和算法
文章目录1.第一次分治2.第二次分治3.第三次分治4.第四次分治5.查询逻辑6.总结1.第一次分治kafka通过topic给用户提供数据的读写,对于不同的业务来说,可以定义不同的topic来达到数据分治的目的,不同的业务写入或者读取不同的topic,且不同的topic会尽可能分散在不同的broker中,提高数据的IO效率。虽然kafka没有限制topic的个数,但是也不要盲目多建,因为越多的topic,代表着越多的数据存储单元,容易导致同一个topic的数据在磁盘存储位置的不连续,从而降低数据读写的原创 2022-03-08 20:59:02 · 2799 阅读 · 0 评论 -
Kafka生产优化之集群重要参数配置详解与优化设置
文章目录1.Broker端配置详解1.1 必配参数1.2 监听器相关参数1.3 主题相关参数1.4 线程相关参数1.5 压缩相关参数1.6 ZooKeeper相关参数1.7 重平衡与选举相关参数1.8 日志刷写相关参数1.9 日志保留相关参数1.10 日志滚动切片相关参数1.11 元数据相关参数1.12 副本相关参数1.13 offset相关参数1.14 消息相关参数2.Topic级别配置详解2.1 日志清理压缩相关参数2.2 日志刷写相关参数2.3 索引相关参数2.4 消息、副本与选举相关参数2.5 日志原创 2022-02-24 18:13:01 · 2106 阅读 · 0 评论 -
Kafka生产优化之Kafka 的线上部署方案
1.操作系统部署在 Linux 上I/O 模型数据网络传输效率1.1 I/O 模型层面I/O 模型是操作系统执行 IO 指令的方法。分别有五种类型阻塞式 IO非阻塞式 IOIO 多路复用信号驱动 IO异步 IO可以简单认为后面的模型比前面的模型要更高效,epoll 模型介于第三种和第四种之间,select 属于第三种。Kafka 的客户端底层使用了 Java 的 selector,而 selector 在 Linux 的实现是 epoll,在 Windows 上实现机制为原创 2022-02-23 17:53:13 · 892 阅读 · 0 评论 -
Kafka的ISR收缩机制
ISR什么时候收缩ISR什么时候扩展ISR的传播机制Broker宕机之后怎么ISR的收缩?Kafka在启动的时候,会启动一个副本管理器ReplicaManager,这个副本管理器会启动几个定时任务。ISR过期定时任务isr-expiration,每隔replica.lag.time.max.ms/2毫秒就执行一次。ISR变更的传播定时任务isr-change-propagation,每隔2500毫秒就执行一次。replica.lag.time.max.ms : 如果一个follower.原创 2022-02-18 23:58:56 · 1855 阅读 · 0 评论 -
Kafka_ConfigCommond/Producer命令详解
文章目录1.查询配置2.增删改 配置3.kafka-console-producer1.查询配置1.查询单个Topic配置(只列举动态配置)sh bin/kafka-configs.sh --describe --bootstrap-server xxxxx:9092 --topic test_create_topic 或者 sh bin/kafka-configs.sh --describe --bootstrap-server 172.23.248.85:9092 --entity-typ原创 2022-02-17 18:56:22 · 1780 阅读 · 0 评论 -
Kafka_TopicCommand命令详解
文章目录1.TopicCommand1.1.Topic创建1.2.删除Topic1.3.Topic分区扩容1.4.查询Topic描述1.5 查询Topic列表1.TopicCommand1.1.Topic创建bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 3 --partitions 3 --topic test相关可选参数:1.2.删除Topicbin/kafka-top原创 2022-02-16 19:22:26 · 1625 阅读 · 0 评论 -
Kafka高性能设计之架构设计
1.Kafka 的技术难点Kafka 为实时日志流而生,要处理的并发和数据量非常大。可见,Kafka 本身就是一个高并发系统,它必然会遇到高并发场景下典型的三高挑战:高性能、高可用和高扩展。为了简化实现的复杂度,Kafka 最终采用了很巧妙的消息模型:它将所有消息进行了持久化存储,让消费者自己各取所需,想取哪个消息,想什么时候取都行,只需要传递一个消息的 offset 进行拉取即可。最终 Kafka 将自己退化成了一个「存储系统」。因此,海量消息的存储问题就是 Kafka 架构设计中的最大技术难原创 2022-02-15 18:21:34 · 783 阅读 · 0 评论 -
Kafka高性能设计之存储设计
Kafka使用的是Logging(日志文件)这种很原始的方式来存储消息对于存储设计有一些知识点: Append Only、Linear Scans、磁盘顺序写、页缓存、零拷贝、稀疏索引、二分查找等等。Append Only Data Structures 的一些存储系统比如HBase, Cassandra, RocksDB文章目录1.Kafka存储难度2.Kafka 的存储选型分析2.1 存储领域的基础知识2.2 Kafka 的存储选型考虑3.Kafka 的存储设计1.Kafka存储难度Kafka原创 2022-02-13 18:11:00 · 884 阅读 · 0 评论 -
面试_kafka [15]
1.什么是消息中间件消息中间件是基于队列与消息传递技术,在网络环境中为应用系统提供同步或异步、可靠的消息传输的支撑性软件系统。消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。2.kafka 是什么?有什么作用Kafka 是一个分布式的流式处理平台,它以高吞吐、可持久化、可水平扩展、支持流数据处理等多种特性而被广泛使用消息系统:kafka与传统的消息中间件都具备系统解耦、冗余存原创 2021-08-30 20:18:34 · 242 阅读 · 0 评论 -
Kafka和Pulsar的比较
文章目录1.架构1.1 Kafka1.2 Pulsar2.消息存储模型2.1 Kafka2.2 Pulsar3.消息消费模型3.1 Kafka3.2 Pulsar4. 多租户4.1 Pulsar4.2 Kafka5.运维5.1 集群部署5.2 扩容5.3 云原生支持5.4 替换broker1.架构1.1 Kafkabrocker和zk组成1.2 PulsarPulsar Broker会在本地缓存消息,并且支持TTL,Pulsar 通过分层架构, 将计算和存储分离, 存储采用BookKeepe原创 2022-02-08 16:32:13 · 8786 阅读 · 0 评论 -
Kafka高性能设计_1
Kafka 的高性能设计可以说是全方位的,从 Prodcuer 、到 Broker、再到 Consumer,Kafka 在掏空心思地优化每一个细节,最终才做到了这样的极致性能。1. 如何理解高性能设计对于线程池、多级缓存、IO 多路复用、零拷贝等技术是一个系统性的问题,至少需要深入到操作系统层面。从 CPU 和存储入手,去了解底层的实现机制,然后再自底往上,一层一层去解密和贯穿起来。高性能设计离不开的就是计算和IO计算:1、让更多的核来参与计算:比如用多线程代替单线程、用集群代替单机等。2、减少原创 2022-02-09 18:34:24 · 1222 阅读 · 0 评论 -
Kafka高性能设计_2
1. 存储消息的性能优化手段存储消息属于 Broker 端的核心功能IO多路复用, 磁盘顺序写, page缓存, 分区分段结构1.1 IO 多路复用对于 Kafka Broker 来说,要做到高性能,首先要考虑的是:设计出一个高效的网络通信模型,用来处理它和 Producer 以及 Consumer 之间的消息传递问题。SocketServer :Kafka采用的是Reactor 网络通信模型1 个 Acceptor 线程,负责监听新的连接,然后将新连接交给 Processor 线程处.原创 2022-02-10 17:50:00 · 2514 阅读 · 0 评论 -
Kafka高性能设计_3
文章目录1.消费消息的性能优化手段1.1 稀疏索引1.2 mmap1.3 零拷贝1.4 批量拉取1.消费消息的性能优化手段1.1 稀疏索引Kafka 利用offset 和 timestamp 查到消息。B Tree 类的索引并不适用于 Kafka。哈希索引看起来却非常合适。为了加快读操作,如果只需要在内存中维护一个「从 offset 到日志文件偏移量」的映射关系即可,每次根据 offset 查找消息时,从哈希表中得到偏移量,再去读文件即可。(根据 timestamp 查消息也可以采用同样的思路.原创 2022-02-11 18:02:27 · 761 阅读 · 0 评论