11-Kafka

news/2024/5/20 6:26:04 标签: kafka, 云原生, knative, serverless

1 Kafka

  • Kafka是一个分布式流式数据平台,它具有三个关键特性

    • Message System: Pub-Sub消息系统
    • Availability & Reliability:以容错及持久化的方式存储数据记录流
    • Scalable & Real time

    在这里插入图片描述

1.1 Kafka架构体系
  • Kafka系统中存在5个关键组件
    • Producer
    • Consume
    • Kafka Cluster
      • Broker:Kafka Server,或Kafka Node
      • Zookeeper: 集群状态存储
    • Connector:连接应用程序和Topic
    • Stream Processor:流处理器,从一个Topic接收并处理流式数据,并将结果存入另一个Topic
  • 还有两个重要逻辑组件
    • Topic
    • Partition

在这里插入图片描述

1.2 Topic和Partition
  • 关于Topic和Partition

    • Topic分类的消息流,相关的消息保存于Partition中

      • 一个Topic中的数据,可以分布保存于一至多个Partition中
      • 每个Partition中,通常存在一个leader,以及一至多个replicas/followers
    • Topic是Producer发布消息,以及consumer消费消息使用的端点

在这里插入图片描述

1.3 Topic中的消息记录
  • 消息及存储方式
    • Kafka中,每个消息记录(record)的标准格式通常由key、value、timestamp和一些metadata组成;
    • 待存入Topic的消息记录未明确指定目标Partition时,Kafka会根据记录的key的hash码选择一个Partition;未明确指定timestamp时,Producer将会使用当前时间(创建时间或附加到日志的时间)作为其时间戳;
    • Kafka将数据持久存储在log.dir参数指定 的目录中,而各topic会映射进该目录的子目录中;
      • Kafka会保留所有记录,无论它们是否已被消费
      • 记录在broker配置中定义的retention period内保留,默认时长为7天(168小时)
    • Kafka基于Pub/Sub和Queue模型构建Topic,它使用消费者组(Consumer Group)的概念将处理任务划分为一组消费者进程并行运行,并且可以将消息广播到多个组中;
1.4 Partition
  • Partition代表Topic中的数据分片,在其它数据库系统中,通常称为replica或shard

    • 每个Partition都是一个按时间排序的不可变记录序列,该序列存储于日志中;
    • 消费者按照记录在日志中的存储顺序读取消息;
    • 每个消息都有一个称为offset的id
  • 能够将一个Topic中的数据并行存储于多个broker上;

  • 支持以冗余机制(复制因子大于1)存储多个副本,并能容忍最多N-1个服务器故障,N为复制

    因子数量;

  • 消费者读取一个Topic时,它将从所有Partition中读取数据


http://www.niftyadmin.cn/n/5281355.html

相关文章

Day68力扣打卡

打卡记录 得到山形数组的最少删除次数&#xff08;线性DP 前后缀分解&#xff09; 链接 class Solution:def minimumMountainRemovals(self, nums: List[int]) -> int:n len(nums)pre, suf [1] * n, [1] * nfor i in range(n):for j in range(i):if nums[j] < nums[…

主从复制mysql-replication | Replication故障排除

主从复制mysql-replication 准备环境 #防火墙 selinux systemctl stop firewalld --now &&setenforce 0 #修改主机名&#xff1a;hostnamectl set-hostname 名字 tip&#xff1a;vim /etc/sysconfig/network-scripts/ifcfg-ens33 BOOTPRTOTstatic IPADDR192.168.100.…

【满分】【华为OD机试真题2023CD卷 JAVAJS】游戏分组

华为OD2023(C&D卷)机试题库全覆盖,刷题指南点这里 游戏分组 知识点深搜 时间限制:1s 空间限制:100MB 限定语言:不限 题目描述: 部门准备举办一场王者荣耀表演赛,有10名游戏爱好者参与,分为两队,每队5人。每位参与者都有一个评分,代表着他的游戏水平。为了表演赛…

55.0/CSS 的应用(详细版)

目录 55.1.1 设计边框样式 55.1.2 调整边框的粗细 55.1.3 边框颜色 55.1.4 复合设置边框 55.2 模块的边距 55.3 模块的内边距 55.4 层的应用 55.4.1 层的建立 55.4.2 浮动——float 55.4.3 清除浮动 55.4.4 层的定位 55.4.5 设置层的溢出——overflow 55.4.6 设置鼠…

大创项目推荐 深度学习+opencv+python实现车道线检测 - 自动驾驶

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络3.1卷积层3.2 池化层3.3 激活函数&#xff1a;3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV56 数据集处理7 模型训练8 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &am…

【已解决】使用fastjson返回给echarts的时候怎么不忽略null值?

问题复现&#xff1a; 在使用fastjson的将对象序列化成json字符串的时候&#xff0c;如果对象属性为null的话&#xff0c;会被忽略掉的。有时候&#xff0c;这些null值还是很有用的。比如我们在使用echarts的时候&#xff0c;返回给前端就不能因为null而忽略&#xff0c;如果忽…

c++学习笔记-提高篇-STL标准模板库3(stack容器、queue容器以及list容器)

目录 Stack容器 一、Stack容器介绍 二、stack常用接口 三、栈的示例 queue&#xff08;队列&#xff09;容器 一、queue容器介绍 二、queue常用接口 三、queue示例 list容器 一、list容器介绍 二、list常用接口及示例 &#xff08;一&#xff09;list构造函数 &am…

react 2

1.快速搭建开发环境 2.react渲染流程 3.1 jsx基础 概念 3.2 jsx基础 本质 3.3 jsx基础 jsx表达式 3.4 jsx基础 实现列表渲染 3.5 jsx基础 实现条件渲染 3.5 jsx基础 实现复杂的条件渲染 4. react中事件绑定 5.react组建基础使用 6.1 useState 6.2 useState修改状态的规则 7.基础…