Kafka开篇

前言

从本篇开始对个人Kafka学习做一个总结, 目标有这么几个。

  1. 从概念架构角度, 对消息中间件形成概要认知;
  2. 从使用角度, 掌握其常见用法;
  3. 从性能角度, 探究其高性能实现机制;

消息中间件的用途

  1. 从消息生产和消费的角度, 平衡消费者和消费者的速率差。基于该点可以做到削峰填谷, 比如流量突发, 日志处理等。
  2. 从系统解耦的角度, 解耦生产者和消费者的时空耦合。基于该点可以解耦系统依赖, 进而实现异步化处理。

消息中间件的概念架构

  1. 消息中间件类似于消息的临时中转站;
  2. 中转站需要接收生产者发送的消息, 并将消息以某种形式发送给消费者;
  3. 如果QoS级别要做到不丢失消息, 中转站则必须支持持久化存储;
  4. 如果中间件工作于分布式系统中, 则需要考虑可用性和伸缩性问题, 涉及集群元数据和存储数据;

Kafka的概念架构

  1. Kafka工作在分布式环境下;
  2. 输入消息和输出消息都通过broker来完成;
  3. Kafka通过topic和partion两级颗粒度管理消息;
  4. 元数据的高可用和伸缩通过Zookeeper来保证, 高版本中移除了Zookeeper的依赖, 由每个存储节点来维护;
  5. 存储数据的高可用和伸缩通过Partion和Replicaton Set来保证;

小结

本文作为Kafka系列的开篇, 介绍消息中间件的场景用途和概念架构,Kafka的顶层架构。后续会对整个过程相关的对象, 以及收发过程中存在的问题做更进一步的介绍, 感谢您的阅读。

相关推荐
2601_962295995 小时前
Spark 和 Kafka 实现 Python 大规模情感分析
python·spark·kafka·情感分析·大规模处理
spter。5 小时前
从一次关注到最终一致:Canal、Outbox 与 Kafka 如何解决关系链双写问题
分布式·kafka
creator_Li5 小时前
Kafka的死信队列
kafka
想要打 Acm 的小周同学呀1 天前
Kafka消息队列出现挤压如何解决?
分布式·kafka
富士康质检员张全蛋1 天前
Kafka实战 自定义分区器 几种常见的分区器
分布式·kafka
starzy19901 天前
Flink基础之Flink批流数据读取处理案例剖析:从文件到 Kafka 的完整代码
大数据·flink·kafka
数智启示录2 天前
Apache Kafka Consumer 扩到 40 个仍不提速:Partition 上限锁死有效并行度 【Kafka合集】
数据库·经验分享·分布式·缓存·面试·kafka·apache
数智启示录2 天前
Apache Kafka 幂等 Producer 的边界:Exactly-Once 到了 MySQL 为什么失效 【Kafka合集】
数据库·经验分享·分布式·mysql·面试·kafka·apache
数智启示录2 天前
Apache Kafka 不只是消息队列:日志与 Offset 分离如何让事件可重放 【Kafka合集】
经验分享·分布式·面试·kafka·apache
数智启示录2 天前
Apache Kafka 同 Key 仍会乱序:从分区 Offset 到业务可见的四道边界 【Kafka 合集】
大数据·数据库·经验分享·分布式·面试·kafka·apache