乐趣区

关于后端:从基础到实战一应俱全一文把-Kafka-讲透了超详细

什么是 Kafka?

Kafka 通常用于实时流数据架构,以提供实时剖析。

Kafka 正在爆炸式增长。超过三分之一的财产 500 强企业都应用 Kafka。这些公司包含十大游览公司,十大银行中的七家,十大保险公司中的八家,十大电信公司中的九家,以及更多。LinkedIn,微软和 Netflix 每天应用 Kafka(1,000,000,000,000)解决万亿级的音讯。Kafka 用于实时数据流,收集大数据或进行实时剖析(或两者兼而有之)。Kafka 与内存微服务一起应用以提供可靠性,它可用于向 CEP(简单事件流零碎)和 IoT / IFTTT 式自动化零碎提供事件。

为什么抉择 Kafka?

Kafka 通常用于实时流式数据体系结构以提供实时剖析。因为 Kafka 是一个疾速,可扩大,耐用和容错的公布、订阅消息传递零碎,Kafka 被用于 JMS,RabbitMQ 和 AMQP 可能因为数量和响应速度而不被思考的状况。Kafka 具备更高的吞吐量,可靠性和复制个性,使其实用于跟踪服务呼叫(跟踪每个呼叫)或跟踪传统 MOM 可能不被思考的物联网传感器数据。

Who 在应用 Kafka?

许多解决大量数据的大公司应用 Kafka。

  • LinkedIn 起源于它,用它来跟踪流动数据和经营指标。
  • Twitter 应用它作为 Storm 的一部分来提供流解决基础设施。
  • Square 应用 Kafka 作为音讯总线,将所有零碎事件转移到各种 Square 数据中心(日志,自定义事件,度量规范等),输入到 Splunk,Graphite(仪表板)以及 Esper-like / CEP 警报系统。
  • Spotify,Uber,Tumbler,Goldman Sachs,PayPal,Box,Cisco,CloudFlare 和 Netflix 等公司也应用这种办法。

因为整个笔记比拟全面,内容相当的多,这里仅展现材料的一些截图,如有须要获取文中提到的“Kafka 技术手册”的敌人 戳此处支付。

kafka 常识导图

第一局部:初识 Kafka

通过这一部分的学习,你能够学习一下内容:

  • 晓得 Kafka 基本原理,理解要害术语概念
  • 能够应用 Kafka 进行音讯零碎开发
  • 通过 Java 语言来应用 Kafka 进行音讯收发

内容涵盖:( 个性 + 应用场景 + 技术劣势 + 适应人群 + 概念详解 + 装置与配置 + Java 第一个程序 + 服务端罕用参数配置 + 总结

第二局部:生产者详解

通过这一部分的学习,你能够学习一下内容:

  • 深刻学习 Kafka 数据生产大抵流程
  • 如何创立并应用 Kafka 生产者
  • Kafka 生产者罕用配置

内容涵盖:( 音讯发送 + 发送原理分析 + 其余生产者参数 + 总结

第三局部:消费者详解

通过这一部分的学习,你能够学习一下内容:

  • 深刻学习 Kafka 数据生产大抵流程
  • 如何创立并应用 Kafka 消费者
  • Kafka 消费者罕用配置

内容涵盖:( 概念入门 + 音讯接管 + 总结

第四局部:主题

通过这一部分的学习,你能够学习一下内容:

  • 深刻学习 Kafka 主题的治理
  • KafkaAdminClient 利用

内容涵盖:( 治理 + 减少分区 + 分区正本的调配 + 其余主题参数配置 + KafkaAdminClient 利用 + 总结

第五局部:分区

通过这一部分的学习,你能够学习一下内容:

  • 深刻学习 Kafka 分区的治理
  • 包含:优先正本的选举、分区重新分配等

内容涵盖:( 正本机制 + 分区 Leader 选举 + 分区重新分配 + 批改正本因子 + 分区调配策略 + 总结

第六局部:Kafka 存储

通过这一部分的学习,你能够学习一下内容:

  • 在实现 Kafka 利用开发的根底上,晓得文件存储机制
  • Kafka 为什么应用磁盘作为存储介质
  • 剖析文件存储格局
  • 疾速检索音讯

内容涵盖:( 存储构造概述 + 日志索引 + 日志清理 + 磁盘存储劣势 + 总结

第七局部:稳定性

通过这一部分的学习,你能够学习一下内容:

  • 深刻学习 Kafka 在保障高性能、高吞吐的同时通过各种机制来保障高可用性

内容涵盖:( 幂等性 + 事务 + 控制器 + 可靠性保障 + 一致性保障 + 音讯反复的场景及解决方案 + __consumer_offsets + 总结

第八局部:高级利用

通过这一部分的学习,你能够学习一下内容:

  • 作为运维人员把握命令行工具
  • 应用 Connect 进行流信息处理
  • 把握提早音讯、流式解决等
  • Kafka 和 SpringBoot 整合

内容涵盖:( 命令行工具 + 数据管道 Connect + 流式解决 Spark + SpringBoot Kafka + 消息中间件选型比照 + 总结

第九局部:集群治理

通过这一部分的学习,你能够学习一下内容:

  • 相熟 Kafka 集群治理相干内容
  • 配置与调优

内容涵盖:( 集群的特点 + 集群的能力 + 集群应用场景 + 集群搭建 + 多集群同步 + 总结

第十局部:监控

通过这一部分的学习,你能够学习一下内容:

  • 晓得 Kafka 的监控体系
  • 把握 JMX 监控指标
  • 数据异动实时揭示

内容涵盖:( 监控度量指标 + broker 监控指标 + 主题分区监控 + 生产者监控指标 + 消费者监控指标 + Kafka Eagle + 总结

写在最初

在以后的趋势下,Kafka 被越来越多的互联网独角兽企业所器重,在业务中的应用也越来越多!那么,咱们就是说不肯定要纯熟,然而至多要学会怎么用。这样在业务中本人的能力一直地晋升,才有底气和老板、和 HR 谈涨薪。否则,只是一味地做,不停地 996,业务能力却没有晋升,那么就会被公司所摈弃,更不要说什么涨薪了, 你问问你本人,你配吗?

最初,我想说的是,学习并非难事,而贵在保持,尤其是在咱们参加工作之后,要持续保持学习就更不容易了。但对于程序员来说,学习是立业之基本,如若放弃学习,被市场淘汰是迟早的事件。所以,学习更多新的常识对于本人来说才是一种更大的投资。

获取形式:须要这份《Kafka 技术手册》帮忙点赞 + 转发 + 关注我,而后戳此处收费获取! 心愿对你有帮忙~~

退出移动版