没有合适的资源?快使用搜索试试~ 我知道了~
它可以让你发布和订阅记录流。在这方面,它类似于一个消息队列或企业消息系统。它可以让你持久化收到的记录流,从而具有容错能力。首先,明确几个概念:Kafka运行在一个或多个服务器上。 Kafka集群分类存储的记录流被称为主题(Topics)。 每个消息记录包含一个键,一个值和时间戳。Kafka有四个核心API:生产者API允许应用程序发布记录流至一个或多个Kafka的话题(Topics)。消费者API允许应用程序订阅一个或多个主题,并处理这些主题接收到的记录流。St
资源推荐
资源详情
资源评论
kafka架构与原理架构与原理
1、简介
它可以让你发布和订阅记录流。在这方面,它类似于一个消息队列或企业消息系统。
它可以让你持久化收到的记录流,从而具有容错能力。
首先,明确几个概念:
Kafka运行在一个或多个服务器上。
Kafka集群分类存储的记录流被称为主题(Topics)。
每个消息记录包含一个键,一个值和时间戳。
Kafka有四个核心API:
生产者 API 允许应用程序发布记录流至一个或多个Kafka的话题(Topics)。
消费者API 允许应用程序订阅一个或多个主题,并处理这些主题接收到的记录流。
Streams API 允许应用程序充当流处理器(stream processor),从一个或多个主题获取输入流,并生产一个输出流至一个或多
个的主题,能够有效地变换输入流为输出流。
Connector API 允许构建和运行可重用的生产者或消费者,能够把 Kafka主题连接到现有的应用程序或数据系统。例如,一个
连接到关系数据库的连接器(connector)可能会获取每个表的变化。
Kafka的客户端和服务器之间的通信是靠一个简单的,高性能的,与语言无关的TCP协议完成的。这个协议有不同的版本,并
保持向前兼容旧版本。Kafka不光提供了一个Java客户端,还有许多语言版本的客户端。
2、 架构
2.1 Broker
每个kafka server称为一个Broker,多个borker组成kafka cluster。一个机器上可以部署一个或者多个Broker,这多个Broker连
接到相同的ZooKeeper就组成了Kafka集群。
2.2 主题Topic
让我们先来了解Kafka的核心抽象概念记录流 – 主题。主题是一种分类或发布的一系列记录的名义上的名字。Kafka的主题始
终是支持多用户订阅的; 也就是说,一个主题可以有零个,一个或多个消费者订阅写入的数据。
Topic 与broker
一个Broker上可以创建一个或者多个Topic。同一个topic可以在同一集群下的多个Broker中分布。
当然,Topic只是一个名义上的组件,真正在Broker间分布式的Partition。
2.3 分区与日志
一个主题对应多个分区,一个分区对应一个日志
Kafka会为每个topic维护了多个分区(partition),每个分区会映射到一个逻辑的日志(log)文件。每个分区是一个有序的,不可变
的消息序列,新的消息不断追加到这个有组织的有保证的日志上。分区会给每个消息记录分配一个顺序ID号 – 偏移量, 能够
唯一地标识该分区中的每个记录。
日志分区是分布式的存在于一个kafka集群的多个broker上。每个partition会被复制多份存在于不同的broker上。这样做是为了
容灾。具体会复制几份,会复制到哪些broker上,都是可以配置的。经过相关的复制策略后,每个topic在每个broker上会驻留
一到多个partition:
2.4 保留策略与Offset
Kafka集群保留所有发布的记录,不管这个记录有没有被消费过,Kafka提供可配置的保留策略去删除旧数据(还有一种策略根
据分区大小删除数据)。例如,如果将保留策略设置为两天,在记录公布后两天内,它可用于消费,之后它将被丢弃以腾出空
间。Kafka的性能跟存储的数据量的大小无关, 所以将数据存储很长一段时间是没有问题的。
剩余8页未读,继续阅读
资源评论
weixin_38668243
- 粉丝: 5
- 资源: 956
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- python爱心代码高级.txt
- Yolo for Android 和 iOS - 用 Kotlin 和 Swift 编写的实时移动深度学习对象检测.zip
- Yolnp 是一个基于 YOLO 检测车牌的项目.zip
- Unity Barracuda 上的 Tiny YOLOv2.zip
- Ultralytics YOLO iOS App 源代码可用于在你自己的 iOS 应用中运行 YOLOv8.zip
- 各种(西佳佳)小游戏 ≈ 代码
- Tensorrt YOLOv8 的简单实现.zip
- TensorFlow 中空间不变注意、推断、重复 (SPAIR) 的原始实现 .zip
- Tensorflow 中的 Tiny YOLOv2 变得简单!.zip
- 8ba1f8ab2c896fd7d5c62d0e5e9ecf46.JPG
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功