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

kafka架构和原理详解

Apache Kafka 是一个分布式流数据平台,用于高吞吐量、持久性、可扩展的发布和订阅消息。它具有高度的可靠性,被广泛用于构建实时数据流处理、日志收集和数据管道等应用。

基本架构

在这里插入图片描述

1. 主题(Topic):

  • 主题是消息的逻辑分类
  • 生产者将消息发布到特定的主题中,而消费者可以订阅一个或多个主题来接收消息
  • 主题可以有多个分区,以实现横向扩展和负载均衡

2. 分区(Partition):

  • 分区是主题的物理存储单元,将主题分成多个部分
  • 每个分区在磁盘上都有一个日志文件,用于持久性存储消息
  • 每个主题可以被分为多个分区,每个分区都是一个有序的、不可变的消息序列
  • 分区可以分布在不同的 Broker 上,以实现数据的并行处理和负载均衡

3. 副本(Replica):

  • Kafka 支持副本机制,每个分区可以有多个副本,其中一个是领导者(Leader),其余是追随者(Follower)
  • 主副本负责处理读写请求,而从副本只负责复制主副本的数据
  • 副本是分区的备份,用于提供冗余和容错性

4. 生产者(Producer):

http://www.lryc.cn/news/146533.html

相关文章:

  • wsl Ubuntu中非root的普通用户怎么直接执行docker命令
  • Web开发模式、API接口、restful规范、序列化和反序列化、drf安装和快速使用、路由转换器(复习)
  • <AMBA总线篇> AXI总线协议介绍
  • 一个简单的Python网络爬虫教程
  • YARN资源管理框架论述
  • Unity查找资源依赖关系
  • 【操作系统】聊聊局部性原理是如何提升性能的
  • 多线程应用——单例模式
  • 几种在JavaScript中创建对象的方式!
  • java项目mysql转postgresql
  • SpringBoot Mybatis 多数据源 MySQL+Oracle
  • (笔记五)利用opencv进行图像几何转换
  • 【Flutter】Flutter 使用 fluttertoast 实现显示 Toast 消息
  • nowcoder NC236题 最大差值
  • TCP/IP五层模型、封装和分用
  • LeetCode 面试题 01.08. 零矩阵
  • Qt应用开发(基础篇)——进度条 QProgressBar
  • 108页石油石化5G智慧炼化厂整体方案PPT
  • Codeforces 1625E2 括号树 + BIT
  • PHP命令行CLI的使用
  • 近期嵌软线下笔试题记录
  • 基于MYSQL的主从同步和读写分离
  • java八股文面试[多线程]——合适的线程数是多少
  • Linux系统下vim常用命令
  • 【2023】LeetCode HOT 100——链表
  • 智能井盖传感器,物联网智能井盖系统
  • C语言三子棋解析
  • 【Jenkins打包服务,Dockerfile报错:manifest for java : 8 not fourd】
  • 读SQL学习指南(第3版)笔记06_连接和集合
  • C#学习,结构,面向对象,类