当前位置: 首页 > news >正文

网站建设 国外深圳动漫制作

网站建设 国外,深圳动漫制作,网站开发团队要几个人,网页设计实验报告单【博客标题】 Kafka 全景入门:从诞生背景到生产实战,一文讲透核心架构、特性以及与RabbitMQ的对比一、为什么要读这篇文章? 如果你正在调研消息中间件,或者刚接触 Kafka 却被「Broker / Partition / Consumer Group / Offset」等概…

【博客标题】
Kafka 全景入门:从诞生背景到生产实战,一文讲透核心架构、特性以及与RabbitMQ的对比


一、为什么要读这篇文章?

如果你正在调研消息中间件,或者刚接触 Kafka 却被「Broker / Partition / Consumer Group / Offset」等概念绕晕,那么这份课堂级笔记刚好能帮你把碎片化的知识点串成体系。

博客思维导图:
在这里插入图片描述


二、Kafka 的诞生故事:业务倒逼技术

  1. 背景
    2010 年前后的 LinkedIn 每天要处理 7 万亿条实时数据,早期点对点集成、ActiveMQ 都扛不住,经常阻塞。
  2. 结果
    LinkedIn 自研 Kafka,并于 2011 年捐给 Apache,名字取自小说家 卡夫卡(Franz Kafka)。
  3. 启示
    业务复杂度 → 技术挑战 → 技术突破,这套逻辑在今天做架构选型时依旧适用。

三、Kafka 到底是什么?

官方给的定位是 “分布式流处理平台”,不仅仅是一个消息队列(MQ)。它同时扮演 3 个角色:

  • 消息引擎:高吞吐、低延迟发布/订阅
  • 存储系统:消息持久化到磁盘,可重放
  • 流处理平台:自带 Kafka Streams API,可做实时计算

四、核心概念速记(面试高频)

概念一句话解释
BrokerKafka 服务器节点,默认端口 9092
Topic逻辑队列,消息的一级分类
Partition对 Topic 做水平分片,解决扩展 & 并发
Replica每个 Partition 的多份拷贝,保证高可用
Leader / Follower读写只走 Leader,Follower 异步同步
SegmentPartition 再按文件切分,便于检索与清理
Consumer Group一组消费者并行消费,Partition 只能被同组内一个实例占用
Offset消息在 Partition 中的“下标”,由 Consumer 自己维护(老版本在 ZK,现存在 __consumer_offsets Topic)

五、常见使用场景

  1. 消息传递:异步、解耦、削峰,比 RabbitMQ 吞吐量更高
  2. 网站活动追踪:点击流实时上报 → 推荐系统
  3. 日志聚合:Logstash / Filebeat → Kafka → ELK
  4. 运营指标监控:CPU、内存、贷款放款数据实时看板
  5. 流式 ETL:Kafka Connect + Kafka Streams → Hadoop / HBase / Elasticsearch
  6. 数据同步:Canal 伪装 MySQL Slave 订阅 Binlog → Kafka → 下游系统

六、十分钟快速安装(CentOS 示例)

  1. 前置
    JDK 8+、ZooKeeper(单节点或集群)
  2. 下载
    kafka_2.13-3.2.0.tgz(2.13 是 Scala 版本,3.2.0 才是真正 Kafka 版本)
  3. 启动
    # 启动自带 ZK(仅测试)
    bin/zookeeper-server-start.sh -daemon config/zookeeper.properties# 启动 Kafka
    bin/kafka-server-start.sh -daemon config/server.properties
    
  4. 常用脚本
    • kafka-topics.sh 创建/查看 Topic
    • kafka-console-producer.sh 命令行发送
    • kafka-console-consumer.sh 命令行消费
    • kafka-consumer-groups.sh 查看消费进度
    • kafka-manager / kafka-eagle 可视化管理

七、Java 原生 API 速览

1. Producer 关键点
bootstrap.servers=broker1:9092,broker2:9092
acks=all                 # 高可靠
retries=3
batch.size=16384
linger.ms=5
2. Consumer 关键点
group.id=your-group
enable.auto.commit=true
auto.offset.reset=earliest
max.poll.records=500
3. 代码片段
// 生产者
KafkaProducer<String, String> producer = new KafkaProducer<>(props);
producer.send(new ProducerRecord<>("topicA", key, value));// 消费者
KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
consumer.subscribe(Arrays.asList("topicA"));
while (true) {ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(1000));records.forEach(r -> System.out.printf("offset=%d, value=%s%n", r.offset(), r.value()));
}

八、Spring 生态集成

1. Spring for Apache Kafka
  • 依赖:spring-kafka
  • Template:KafkaTemplate<K,V> 一行发送
  • Listener@KafkaListener 注解消费
  • 配置application.yml 统一写生产者和消费者属性
2. Spring Boot 示例
spring:kafka:bootstrap-servers: 192.168.8.147:9092producer:retries: 1batch-size: 16384consumer:group-id: boot-groupauto-offset-reset: earliest

九、Kafka vs RabbitMQ:一张图看懂选型

维度KafkaRabbitMQ
定位流处理平台消息代理
吞吐量百万级 TPS万级 TPS
延迟毫秒级亚毫秒级
消息顺序Partition 级顺序队列级顺序
路由灵活性Topic/Partition 简单路由Exchange + Binding 丰富
消息留存可配置持久化,支持重放消费完即删除
高级特性流处理、Connect、MirrorMaker延迟队列、优先级、死信队列
适用场景大数据、日志、流计算业务解耦、事务、复杂路由

一句话总结:

高吞吐 + 流处理 选 Kafka;复杂路由 + 低延迟 + 高级 MQ 特性 选 RabbitMQ。


十、学习路线 & 资料

  1. 官方文档
    http://kafka.apache.org/documentation
    https://kafka.apachecn.org (中文翻译)
  2. 书籍:《Kafka 权威指南》《深入理解 Kafka》
  3. 可视化:Kafka Manager、Kafka Eagle
  4. 实战
    • 用 Canal + Kafka 同步 MySQL → Elasticsearch
    • Kafka Streams 实时统计 UV
    • 搭建 3 Broker + 3 ZooKeeper 伪分布式集群

十一、启示

Kafka 的成功告诉我们:

“技术不是拍脑袋出来的,是被业务痛点逼出来的。”

当你面对海量数据、高并发、实时计算需求时,Kafka 大概率能救你于水火;但如果你只是想解耦下单和库存,RabbitMQ 可能更简单直接。希望这篇总结能让你在选型、面试、实战中都游刃有余。

http://www.dtcms.com/a/555172.html

相关文章:

  • 类似k站的网站网站 备案 拍照
  • 阜新网站建设互联网家装公司
  • 学做宝宝衣服网站好如何创建商业网站
  • 杭州一起做网站开发应用程序的步骤
  • 彬县网站建设宿迁做网站公司哪家好
  • Java的三代日期类(Date,Calendar,LocalDateTime)
  • 做物流网站有哪些内容深圳罗湖网站制作
  • 如何做线上网站的网站网站建设培训心得体会
  • 合泰单片机之时基中断
  • 那些网站可以做问答免费com网站域名注册
  • 高端企业网站要多少钱广州知名设计公司排名
  • 建设银行东航龙卡登录东航网站代运营公司排名前十
  • 北京建设局投诉网站首页为什么自己做的网站老是404错误
  • Python requests详解:从入门到实战,HTTP请求的“瑞士军刀”
  • 网站建设策略营销上地网站建设
  • 怎么给网站做备案网站建站外包公司
  • 分数阶非局部扩散传染病模型稳态解的存在性与渐近性分析
  • 新开的网站怎么做seo优化网上房地产官网
  • 建设网站收废品wordpress 结构分析
  • dede网站名称不能中文网站开发申请报告
  • NFS服务搭建
  • 如何快速建网站陕西高速公路建设网站
  • 网站建设实训心得php网站开发一般做几个适配
  • 江苏网站建设开发代理招商网免费加盟
  • 登录不了建设银行网站wordpress配置ftp服务器
  • 同为科技定制PDU赋能智联未来
  • 男女做羞羞的故事网站成华区微信网站建
  • 站酷设计官方网站wordpress下载
  • 南京建设工程公共资源交易中心网站网络营销的基本特点和描述
  • 中国建设银行网站网上银行手机之家官方网