Kafka入门(一)
1.1 Kafka简介
关于 Kafka,网上有很多介绍,经过不断地复制、洗稿、演绎后,难免背离原意,因此,我们还是来看一下官网给出的定义:
Apache Kafka is a distributed streaming platform.
Kafka 作为流平台具有以下三种能力:
- 发布和订阅记录流,类似于消息队列或企业消息系统;
- 具有容错能力,且可以持久化的方式存储记录流;
- 当记录流产生时(发生时),可及时对其进行处理。
Kafka 适用于两类应用:
- 建立实时流数据管道,在系统或应用之间可靠地获取数据;
- 建立对数据流进行转换或反应的实时流应用程序。
kafka 包含四种核心 API。
- Producer API:基于该 API,应用程序可以将记录流发布到一个或多个 Kafka 主题(Topics);
- Consumer API:基于该 API,应用程序可以订阅一个或多个主题,并处理主题对应的记录流;
- Streams API:基于该 API,应用程序可以充当流处理器,从一个或多个主题消费输入流,并生成输出流输出一个或多个主题,从而有效地将输入流转换为输出流;
- Connector API:允许构建和运行将 Kafka 主题连接到现有应用程序或数据系统的可重用生产者或消费者。例如,关系数据库的连接器可能会捕获表的每一个更改。
1.2 Kafka 特点
作为一种高吞吐量的分布式发布订阅消息系统,Kafka 具有如下特性:
- 快速持久化,可以在 O(1) 的系统开销下进行消息持久化;
- 高吞吐,在一台普通的服务器上可以达到 10W/s 的吞吐速率;
- 完全的分布式系统,Broker、Producer、Consumer 都原生自动支持分布式,自动实现负载均衡;
- 支持同步和异步复制两种 HA;
- 支持数据批量发送和拉取;
- Zero-Copy,减少 IO 操作步骤;
- 数据迁移、扩容对用户透明;
- 无需停机即可扩展机器;
- 其他特性还包括严格的消息顺序、丰富的消息拉取模型、高效订阅者水平扩展、实时的消息订阅、亿级的消息堆积能力、定期删除机制。
1.3 Kafka 架构
如上图所示,一个典型的 Kafka 体系架构包括若干 Producer(消息生产者),若干 Broker(Kafka 支持水平扩展,一般 Broker 数量越多,集群吞吐率越高),若干 Consumer(Group),以及一个 Zookeeper 集群。Kafka 通过 Zookeeper 管理集群配置,选举 Leader,以及在 Consumer Group 发生变化时进行 Rebalance。Producer 使用 Push(推)模式将消息发布到 Broker,Consumer 使用 Pull(拉)模式从 Broker 订阅并消费消息。
各个名词的解释请见下表:
Kafka入门(一)相关推荐
- Kafka入门教程与详解
1 Kafka入门教程 1.1 消息队列(Message Queue) Message Queue消息传送系统提供传送服务.消息传送依赖于大量支持组件,这些组件负责处理连接服务.消息的路由和传送.持久 ...
- kafka入门:简介、使用场景、设计原理、主要配置及集群搭建
为什么80%的码农都做不了架构师?>>> kafka入门:简介.使用场景.设计原理.主要配置及集群搭建(转) 问题导读: 1.zookeeper在kafka的作用是什么? 2. ...
- Kafka 入门和 Spring Boot 集成
2019独角兽企业重金招聘Python工程师标准>>> Kafka 入门和 Spring Boot 集成 概述 kafka 是一个高性能的消息队列,也是一个分布式流处理平台(这里的流 ...
- kafka分区与分组原理_大数据技术-Kafka入门
在大数据学习当中,主要的学习重点就是大数据技术框架,针对于大数据处理的不同环节,需要不同的技术框架来解决问题.以Kafka来说,主要就是针对于实时消息处理,在大数据平台当中的应用也很广泛.大数据学习一 ...
- kafka topic 一段时间不消费_全网最通俗易懂的 Kafka 入门
众所周知,消息队列的产品有好几种,这里我选择学习Kafka的原因,无他,公司在用. 我司使用的是Kafka和自研的消息队列(Kafka和RocketMQ)改版,于是我就想学学Kafka这款消息队列啦. ...
- Kafka入门篇学习笔记整理
Kafka入门篇学习笔记整理 Kafka是什么 Kafka的特性 应用场景 Kafka的安装 单机版部署 集群部署环境准备 Kafka 2.x集群部署 Kafka 3.x集群部署 监听器和内外网络 K ...
- Kafka : Kafka入门教程和JAVA客户端使用
目录 目录 Kafka简介 环境介绍 术语介绍 消费模式 下载 集群安装配置 命令使用 JAVA实战 参考文献 Kafka简介 由Scala和Java编写,Kafka是一种高吞吐量的分布式发布订阅消息 ...
- Kafka入门教程(一)
转自:https://blog.csdn.net/yuan_xw/article/details/51210954 1 Kafka入门教程 1.1 消息队列(Message Queue) Messag ...
- Kafka教程(一)Kafka入门教程
Kafka教程(一)Kafka入门教程 1 Kafka入门教程 1.1 消息队列(Message Queue) Message Queue消息传送系统提供传送服务.消息传送依赖于大量支持组件,这些组件 ...
- Kafka 入门 (一)
Kafka 入门(一) Apache Kafka起源于LinkedIn,后来于2011年成为开源Apache项目,然后于2012年成为First-class Apache项目.Kafka是用Scala ...
最新文章
- css 边缘闪光_css文字渐变+内发光+投影效果
- oracle数据库源数据路径,oracle中用什么命令查找数据文件所在路径呢?
- POJ3045 Cow Acrobats —— 思维证明
- yii2 pdo mysql 乱码_YII2.0使用PDO连接Oracle库查询结果中文显示乱码问题
- 人体识别_深度学习资讯 | 用于人体动作识别的26层卷积神经网络
- [转]百万数据查询优化技巧三四则
- 多线程—Lock、Condition、ReentrantLock、ReentrantReadWriteLock
- Android SlidingMenu开源库及其使用
- hadoop环境准备
- 本文主要介绍如何将音乐文件打包到程序中并设置为铃声
- python爬虫下载文件到指定文件夹_python - 图片爬虫时候遇到问题 urllib.request.urlretrieve 下载到指定文件夹不成功?...
- 《专家系统破解篇 六、IL代码破解--配套乱说》之 FeatherskyExpertSystem
- 100个Python实战项目(一)使用 Python 生成二维码
- 网络攻防WEB入门指南
- Cache tier使用文档
- 分享十一个学习css的小游戏,快来下载吧!
- LTE/LTE-Advanced 第2章 网络架构
- H3C 无线WLAN侧AC+FIA配置
- mysql设备未就绪_SQL Server 返回了错误 21(设备未就绪。) 解决方法
- 专业字体设计编辑Glyphs 3
热门文章
- 自己交社保的人怎么样才知道自己可以退休了?
- 江苏华西村海洋工程服务有限公司-船讯网
- 算法笔记之回溯法(一)——溯洄从之,道阻且长;溯游从之,宛在水中央。
- 边缘计算概念以及应用
- Modbus编程实践
- 三五族异质结的自发极化、压电极化及2DEG
- ionic3开发系列——ionic3懒加载配置
- 解决pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool
- 怎么用计算机算自己的月经周期,【月经周期表】月经周期表计算器_女人月经周期表 - 妈妈网百科...
- 【Raft】学习九:成员变更ConfChangeV2