摘要:相关知识的wiki https://www.processon.com/mindmap/5ef999275653bb2925bc8a13 问题 假设有个 Kafka 集群由 2 台 Broker 组成,有个主题有 5 个分区,当一个消费该主题的消费者程序启动时,你认为该程序会创建多少个 Socket
阅读全文
摘要:总结 1.Producer 端压缩、Broker 端保持、Consumer 端解压缩。 2.开启压缩的最佳实践: Producer 端完成的压缩,那么启用压缩的一个条件就是 Producer 程序运行机器上的 CPU 资源要很充足。 如果你的环境中带宽资源有限,那么我也建议你开启压缩。如果你的机器
阅读全文
摘要:既然是集群,那必然就要有多个 Kafka 节点机器,因为只有单台机器构成的 Kafka 伪集群只能用于日常测试之用,根本无法满足实际的线上生产需求。而真正的线上环境需要仔细地考量各种因素,结合自身的业务需求而制定。下面我就分别从操作系统、磁盘、磁盘容量和带宽等方面来讨论一下。 操作系统 -- 选择L
阅读全文
摘要:Kafka版本号解释 前面的版本号2.11是编译 Kafka 源代码的 Scala 编译器版本。 Kafka 服务器端的代码完全由 Scala 语言编写 Kafka 新版客户端代码完全由 Java 语言编写 Kafka各个历史版本的重大改进 Kafka 目前总共演进了 7 个大版本,分别是 0.7、
阅读全文
摘要:三种kafka的优缺点 Apache Kafka,也称社区版 Kafka。优势在于迭代速度快,社区响应度高,使用它可以让你有更高的把控度;缺陷在于仅提供基础核心组件,缺失一些高级的特性。 社区版 Kafka 只提供一种连接器,即读写磁盘文件的连接器,而没有与其他外部系统交互的连接器,在实际使用过程中
阅读全文
摘要:如果你通读全篇文字但只能记住一句话,我希望你记住的就是这句 Apache Kafka 是消息引擎系统,也是一个分布式流处理平台(Distributed Streaming Platform) 作为流处理平台,Kafka 与其他主流大数据流式计算框架相比,优势在哪里呢?我能想到的有两点。 第一点是更容
阅读全文
摘要:几个原因: 1,kafka的分区已经让读是从多个broker读从而负载均衡,不是MySQL的主从,压力都在主上; 2,kafka保存的数据和数据库的性质有实质的区别就是数据具有消费的概念,是流数据,kafka是消息队列,所以消费需要位移,而数据库是实体数据不存在这个概念,如果从kafka的follo
阅读全文
摘要:Kafka v.s. RabbitMQ 优先选择Kafka的条件 ·严格的消息顺序 ·延长消息留存时间,包括过去消息重放的可能 ·传统解决方案无法满足的高伸缩能力 优先选择RabbitMQ的条件 ·高级灵活的路由规则 ·消息时序控制(控制消息过期或消息延迟) ·高级的容错处理能力,在消费者更有可能处
阅读全文
摘要:总结 1.顺序读写 磁盘读写有两种方式:顺序读写或者随机读写。Kafka 是磁盘顺序读写,利用了一种分段式的、只追加 (Append-Only) 的日志,基本上把自身的读写操作限制为顺序 I/O,磁盘的顺序读写速度和内存持平(见图1.1)。 kafka topic的每一个 Partition 其实都
阅读全文
摘要:Kafka 遵循了一种大部分消息系统共同的传统的设计:producer 将消息推送到 broker,consumer 从broker 拉取消息。 优点:pull模式消费者自主决定是否批量从broker拉取数据,而push模式在无法知道消费者消费能力情况下,不易控制推送速度,太快可能造成消费者奔溃,太
阅读全文
摘要:Kafka优点 1.吞吐量高 kafka的吞吐量,比NATS低,但比其他MQ(例如:RabbitMQ)高 kafka的sender性能比receiver的吞吐量高。是因为receiver是通过主动pull(拉取)方式获取的,会有一定的延时 NATS的sender和receiver直接push(推送)
阅读全文
摘要:一、如何提升吞吐量 二、数据精准一次 三、合理设置分区数 四、单条日志大于1m 五、服务器挂了 六、集群吞吐量压力测试 6.1 生产者压力测试 下图只是测试结果,在实际生产环境中要具体分析: 6.2 消费者压力测试 测试结果:
阅读全文
摘要:一、Broker调优 1.1 Broker更新模式 read-only: broker重启后才能生效 per-broker: 动态生效(对每一个broker),无需重启 cluster-wide:整个集群范围的动态生效 二、消费者调优 2.1 消费者核心参数配置 2.2 消费者再平衡 2.3 指定o
阅读全文
摘要:一、硬件配置选择 1.1 峰值计算 1.2 购买多少服务器 1.3 磁盘选择 1.4 内存选择 kafka的内存 = 堆内存(kafka内部配置)+ 页内存(服务器内存) 如果生产环境数据量很大,可以设置为10G-15G 查看kafka GC情况 YGC,年轻代GC次数,这里是36次可以接受 查看堆
阅读全文
摘要:SpringBoot https://www.bilibili.com/video/BV1vr4y1677k?p=71 Spark https://www.bilibili.com/video/BV1vr4y1677k?p=73&spm_id_from=pageDriver
阅读全文
摘要:一、背景介绍 本文以risk-summary项目为背景来介绍。我们主要关注step 1 和 step 2 以flink作为中心来看,其在step 1把kafka作为数据源(addSource)获取数据,经过flink处理后,将处理后的数据再输出(addSink)到kafka 二、Flink与Kafk
阅读全文
摘要:一、Kafka-Kraft模式 关于controller节点,详见:https://www.cnblogs.com/frankcui/p/16095739.html#_label0 二、Kafka-Kraft集群部署 https://www.bilibili.com/video/BV1vr4y167
阅读全文
摘要:一、Kafka-Eagle 有什么用? 二、环境准备 mysql环境准备 kafka环境准备 kafka-eagle环境准备 https://www.bilibili.com/video/BV1vr4y1677k?p=64&spm_id_from=pageDriver 三、Kafka-Eagle 监
阅读全文
摘要:一、kafka消费方式 kafka采取pull(拉)模式 二、消费者总体工作流程 老版本0.9之前,offset保存在zookeeper上。 新版本1.0后,每个消费者的offset又消费者提交到系统主题保存。 三、消费者组原理 3.1 原理简介 3.2 消费者组初始化过程 四、消费者API 4.1
阅读全文
摘要:一、Kafka能高效读写数据的原因 4)页缓存+零拷贝技术 传输的数据只保存在内核空间,不需要再拷贝到用户空间
阅读全文