【Kafka】Kafka基础操作笔记

【Kafka】Kafka基础操作笔记

文章目录

  • 【Kafka】Kafka基础操作笔记
    • 1. 两种模式
      • 1.1 点对点模式
      • 1.2 发布/订阅模式
    • 2. 基础架构
    • 3. Topic命令行操作
      • 3.1 查看 Topic 操作
      • 3.2 创建 Topic
      • 3.3 查看所有 Topic
      • 3.4 查看 Topic 的详情
      • 3.5 修改分区数
      • 3.6 删除 Topic

1. 两种模式

Kafka作为消息队列,有两种模式:

  1. 点对点模式
  2. 发布/订阅模式

1.1 点对点模式

特点:

  • 消费者主动拉取数据,消息收到后清除消息

image-20230705110531581


1.2 发布/订阅模式

  • 可以有多个topic主题(浏览、点赞、收藏、评论等)
  • 消费者消费数据之后,不删除数据
  • 每个消费者相互独立,都可以消费到数据

image-20230705110722828


2. 基础架构

Kafka的基础架构:

  1. 为方便扩展,并提高吞吐量,一个topic分为多个partition(分区)
  2. 配合分区的设计,提出消费者组的概念,组内每个消费者并行消费,一个分区只能由一个组内消费者消费,避免重复消费
  3. 为提高可用性,为每个partition增加若干副本
  4. Zookeeper中记录谁是leader,Kafka2.8.0以后也可以配置不采用ZK

image-20230705111049119

  • Consumer Group(CG):消费者组,由多个consumer组成。消费者组内每个消费者负责消费不同分区的数据,为避免详消息的重复消费,一个分区只能由一个组内消费者消费;消费者组之间互不影响。所有消费者都属于某个消费者组,即消费者组是逻辑上的一个订阅者。
  • Broker:一台Kafka服务器就是一个broker。一个集群由多个broker组成。一个broker可以容纳多个topic。
  • Topic:可以理解为一个队列,生产者和消费者面向的都是一个topic
  • Partition:为了实现扩展性,一个非常大的 topic 可以分布到多个 broker (即服务器上),一个topic可以分为多个 partition,每个 partition 是一个有序的队列
  • Replica:副本。一个 topic 的每个分区都有若干个副本,一个 Leader 和若干个 Follower。
  • Leader:每个分区多个副本的“主”,生产者发送数据的对象,以及消费者消费数据的对象都是 Leader。
  • Follower:每个分区多个副本中的“从”,实时从 Leader 中同步数据,保持和 Leader 数据的同步。Leader 发生故障时,某个 Follower 会成为新的 Leader。

3. Topic命令行操作

3.1 查看 Topic 操作

①查看操作Topic命令参数

#在kafka的目录下
bin/kafka-topics.sh

输入该命令行后,控制台列出所有的参数及含义:

image-20230705232832770

总结如下:

image-20230705232404846


3.2 创建 Topic

②创建一个名为first的topic,要求分区数为1,集群有3个节点,所以分区副本设置为3

bin/kafka-topics.sh --bootstrap-server node1:9092 --create --partitions 1 --replication-factor 3 --topic first

3.3 查看所有 Topic

③查看当前服务器中所有的topic

bin/kafka-topics.sh --bootstrap-server node1:9092 --list

3.4 查看 Topic 的详情

④查看 first 主题的详情

bin/kafka-topics.sh --bootstrap-server node1:9092 --describe --topic first

image-20230705233257193

  • Replicas:1,2,0 表示副本分别存在三个节点中
  • Leader:1 表示Leader副本存储在代号为1的节点中,其余两个存的是Follower副本
  • Isr:1,2,0 表示同步副本,follower副本同步leader副本的数据,ISR是Kafka中用于保证数据一致性和可靠性的副本集合

3.5 修改分区数

⑤注意:分区数只能增加不能减少

bin/kafka-topics.sh --bootstrap-server node1:9092 --alter --partitions 3 --topic first

修改之后再次查看 first 主题的详情:

image-20230705233811497


3.6 删除 Topic

⑥删除 first 主题

bin/kafka-topics.sh --bootstrap-server node1:9092 --delete --topic first

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/9679.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

K8S应用生命周期管理

K8S应用生命周期管理. 1 应用周期管理1.1 资源对象1.1.1 基础知识1.1.2 资源属性 1.2 Pod基础1.2.1 Pod概述1.2.2 简单实践1.2.3 流程解读1.2.4 应用解析1.2.5 初始化容器1.2.6 Sidecar实践1.2.7 静态POD实践 1.3 Pod进阶1.3.1 Pod探测机制1.3.2 命令探测1.3.3 TCP探测1.3.4 HT…

服务无法注册进Eureka

相同的配置,在demo里能注册,在自己项目的无法注册,眼睛都快盯出老花眼了,还是不行,果然出现的问题只有在发现问题以后才觉得简单(虽然确实是小问题,但是排查了一整天,值得记录一下&a…

3-Spring cloud之搭建Ribbon负载均衡——服务器上实操(上)

3-Spring cloud之搭建Ribbon负载均衡——服务器上实操(上) 1. 前言2. ribbon整合eureka入门2.1 修改相关配置2.1.1 修改服务消费者pom,引入ribbon相关依赖2.1.2 修改服务消费者yml,将客户端注册进eureka服务列表内2.1.3 修改配置类…

用户与组管理介绍

文章目录 一、服务器系统版本介绍二、用户管理1. 用户概述2. 内置账户3. 配置文件4. 用户管理命令 三、组管理1. 组概述2. 内置组(系统自带的组)3. 组管理命令 一、服务器系统版本介绍 Windows服务器系统:win2000、win2003、win2008、win2012…

charles 如何获取电脑端微信小程序接口

安装证书 设置代理端口 即可抓取美团酒店小程序的数据 从charles 可以抓取出header 请求,没有所谓的通过遍历循环能简单的得到数据,请求包含加密信息 随便改下数据就是 所以如果要得到这些数据,还非得通过小程序模拟人滑动获取数据&…

<QT开发> QT开发工具-之-QT应用程序打包

<QT开发> QT开发工具-之-QT应用程序打包 一 前言 笔者为什么会写这篇文章呢?这是因为,笔者使用windows QT开发了一个测试工具。目的是通过TCP/IP测试其它应用程序。首先这个QT程序是笔者自己开发的,所以笔者的电脑当…

【数学建模】国赛真题分析 2012 A题 葡萄酒的评价

2012 A题 葡萄酒的评价 优秀论文地址: 链接:https://pan.baidu.com/s/19WGpybgM6RncxTYhx61JRA?pwdvl22 提取码:vl22 –来自百度网盘超级会员V6的分享 确定葡萄酒质量时一般是通过聘请一批有资质的评酒员进行品评。每个评酒员在对葡萄酒进…

万能的微信小程序个人主页:商城系统个人主页、外卖系统个人主页、购票系统个人主页等等【全部源代码分享+页面效果展示+直接复制粘贴编译即可】

前言 以下给出来四个常见的小程序个人主页,分别是商城系统个人主页,外卖系统个人主页,挂号系统个人主页,电影购票系统个人主页。包括完整的页面布局代码,完整的样式代码。使用的时候,只需要将页面代码和样式代码复制到自己项目对应的页面即可。而且可以根据已有代码只需稍…

【Go】Go 语言教程--语言变量(五)

往期教程: Go 语言教程–介绍(一)Go 语言教程–语言结构(二)Go 语言教程–语言结构(三)Go 语言教程–数据类型(四) 文章目录 变量声明多变量声明值类型和引用类型简短形…

Scala特证/特质【6.7 特质(Trait)】

Scala特证/特质【6.7 特质(Trait)】 6.7 特质(Trait)Java 的接口接口的作用抽象类的作用 6.7.1 特质声明6.7.2 特质基本语法6.7.3 特质叠加6.7.4 特质叠加执行顺序6.7.5 特质自身类型6.7.6 特质和抽象类的区别 (任意内…

新颖的文档、视频交互方式:以《GPT API Unofficial Docs》和《渐构》为例

一、背景 无意中看到一份 《GPT API 非官方文档》:https://gpt.pomb.us/ 被网站的交互方式所吸引,颇为新颖,值得借鉴。 左侧是对应的 API 代码调用示例,右侧是文档的每个部分,滑动到对应部分,左侧相关的代…

【UnityDOTS 十一】SharedComponent介绍

SharedComponent介绍 SharedComponent内存图 共享组件的值数组在单独的SharedComponentDataArrary中。每个Chunk中有一个单独的Handle指向这个值。 所以这个Chunk中放的不只是ArcheType相同的Entity,他们所指向的ShareComponent值也是相同的。 同时修改一个Entity…