Apache Kafka 能够处理高达数百万每秒吞吐的消息流,颠覆了人们关于“持久化到磁盘必然低效”的认知。Kafka 深度契合现代操作系统的底层运转特性,其极速吞吐的基石主要建立在以下三大关键设计之上:1. 极致的磁盘顺序追加写(Sequential Append I/O)机械硬盘(甚至 SSD)的随机寻道延迟极其高
分类:大数据与流计算
共 5 篇文章大数据与流计算相关技术文章
Elasticsearch 的检索能力源于 Lucene 的倒排索引:将文档内容切分为词项(Term),并记录每个词项出现的文档列表(Postings List)。 一、分词器组成 分词器(Analyzer)由三部分组成: Character Filter:字符预处理,如去除 HTML 标签 Tokenizer:切分为
Kafka 消费者组(Consumer Group)通过 Rebalance 将分区重新分配给组内成员,保证同一分区在同一时刻仅被一个消费者消费。 一、Rebalance 触发条件 组成员加入或离开 订阅主题的分区数变化 心跳超时(session.timeout.ms) 二、位移提交语义 至多一次(AtMostOnce
Kafka 的高吞吐依赖分区并行、批量发送与消息压缩三大机制协同。 一、分区并行 每个分区是独立的有序日志,生产者可并行写入多个分区。分区数决定了最大并行度,但过多分区会增加元数据开销与 Rebalance 时间。 二、批量与压缩配置 batch.size:单批次最大字节数 linger.ms:等待更多消息以凑批的时间
Elasticsearch 集群通过主节点(Master Node)管理元数据与分片分配,网络分区可能导致脑裂,出现多个主节点。 一、脑裂成因 当集群被网络分区为两部分,若两部分都能选出主节点,将导致元数据不一致与数据丢失。 二、7.x 后的改进 Elasticsearch 7.0 起引入基于 Raft 的集群协调子系