Kakfa的核心概念-Replica副本(kafka创建topic并指定分区和副本的两种方式)

Kakfa的核心概念-Replica副本(kafka创建topic并指定分区和副本的两种方式)

  • 1、kafka命令行脚本创建topic并指定分区和副本
  • 2、springboot集成kafka创建topic并指定分区和副本
    • 2.1、springboot集成kafka
      • 2.1.1、springboot集成kafka创建topic并指定5个分区和1个副本
      • 2.1.2、往分区中发送消息
      • 2.1.3、springboot集成kafka创建topic并指定9个分区和1个副本
      • 2.1.4、springboot集成kafka创建topic并指定7个分区和1个副本

在这里插入图片描述

1、kafka命令行脚本创建topic并指定分区和副本

在这里插入图片描述

./kafka-topics.sh --create --topic myTopic --partitions 3 --replication-factor 1 --bootstrap-server 127.0.0.1:9092

在这里插入图片描述创建topic成功,有3个分区
在这里插入图片描述

2、springboot集成kafka创建topic并指定分区和副本

在这里插入图片描述

在这里插入图片描述

2.1、springboot集成kafka

2.1.1、springboot集成kafka创建topic并指定5个分区和1个副本

package com.power.config;import org.apache.kafka.clients.admin.NewTopic;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class KafkaConfig {@Beanpublic NewTopic newTopic(){return new NewTopic("heTopic",5,(short) 1);}
}

在这里插入图片描述
创建成功,有5个分区
在这里插入图片描述

2.1.2、往分区中发送消息

在这里插入图片描述
生产者:

package com.power.producer;import com.power.model.User;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.common.header.Headers;
import org.apache.kafka.common.header.internals.RecordHeaders;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.kafka.support.KafkaHeaders;
import org.springframework.kafka.support.SendResult;
import org.springframework.messaging.Message;
import org.springframework.messaging.support.MessageBuilder;
import org.springframework.stereotype.Component;
import org.springframework.util.concurrent.ListenableFuture;import javax.annotation.Resource;
import java.nio.charset.StandardCharsets;
import java.util.Date;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;@Component
public class EventProducer {@Resourceprivate KafkaTemplate<String,Object> kafkaTemplate2;public void send9(){User user = User.builder().id(1208).phone("16767667676").birthday(new Date()).build();//分区是null,让kafka自己去决定把消息发送到哪个分区kafkaTemplate2.send("heTopic",null,System.currentTimeMillis(),"k9",user);}
}

测试类:

package com.power;import com.power.model.User;
import com.power.producer.EventProducer;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;import javax.annotation.Resource;
import java.util.Date;@SpringBootTest
public class SpringBoot01KafkaBaseApplication {@Resourceprivate EventProducer eventProducer;@Testvoid send9(){eventProducer.send9();}}

生产者发送消息的时候未指定分区,我们发现生产者发送的消息在刚刚创建的5个分区中的最后一个分区。
在这里插入图片描述

2.1.3、springboot集成kafka创建topic并指定9个分区和1个副本

在这里插入图片描述
此时发现刚刚创建的topic变为了9个分区
在这里插入图片描述

2.1.4、springboot集成kafka创建topic并指定7个分区和1个副本

在这里插入图片描述第一次创建heTopic时指定5个分区;
第二次创建heTopic时指定9个分区,增加了4个;
第三次创建heTopic时指定7个分区,topic中分区个数并没有减少;并且第一次topic创建后生产者发送的消息仍然在第5个分区中。
在这里插入图片描述

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

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

相关文章

VScode 连接远程服务器

1、 2、 3、免密登录 1、本地生成密钥 ssh-keygen2、生成的密钥默认在 C:\Users\***\.ssh\ 中3、将私钥 C:\Users\***\.ssh\id_rsa 添加到上面的配置文件中的 IdentityFile 项内4、将公钥 C:\Users\***\.ssh\id_rsa\id_rsa.pub 拷贝到远程 ~/.ssh/authorized_keys 中 4、远程…

【精选】基于django柚子校园影院(咨询+解答+辅导)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

Golang | Leetcode Golang题解之第371题两整数之和

题目&#xff1a; 题解&#xff1a; func getSum(a, b int) int {for b ! 0 {carry : uint(a&b) << 1a ^ bb int(carry)}return a }

python | Python集成学习和随机森林算法

本文来源公众号“python”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;Python集成学习和随机森林算法 集成学习是一种通过组合多个模型来提高预测性能的机器学习方法。它通过将多个弱学习器的结果结合起来&#xff0c;形成一个…

音频信号编解码原理及在视频制作中的应用

目录 音频编码与解码概述 常见的音频编码格式 无损与有损编解码器的区别 视频制作中音频编解码器的选择 音频编解码器对延迟和实时传输的影响 结论 音频编码与解码概述 音频编码是指将原始音频数据转换成一种更高效、更紧凑的格式的过程&#xff0c;目的是为了减少存储空…

【算法学习笔记】29:动态规划中可丢弃状态的维度压缩

1 动机 当状态 i i i只依赖于前置状态 i − 1 i - 1 i−1&#xff0c;并且在计算出状态 i i i之后就可以丢弃状态 i − 1 i - 1 i−1时的解时&#xff0c; i − 1 i - 1 i−1就成为一个可丢弃的状态&#xff0c;因此就可以将 i i i这个维度直接压缩&#xff08;省略&#xff0…

「Python数据分析」Pandas进阶,利用concat()函数连接数据(一)

在我们迈向中高级出局数据分析的过程中&#xff0c;数据的合并和连接&#xff0c;是一个非常重要的技能。 现实中&#xff0c;分散在各种数据库&#xff0c;各种数据表格&#xff0c;各种数据存储设备当中的&#xff0c;各式各样的数据&#xff0c;是我们进行数据分析的基础&a…

SmartGit-Git版本控制系统的图形化客户端

SmartGit&#xff1a; SmartGit是一款免费的、专业的Git版本控制系统的图形化客户端。它适用于Windows、Mac和Linux等多种操作系统&#xff0c;提供了直观的用户界面和丰富的功能。支持创建、克隆、推送、拉取、合并和管理Git仓库&#xff0c;以及强大的分支管理功能。还提供了…

(免费领源码)python#Django#msyql学生个性化培养的教学资源平台的设计与实现19385-计算机毕业设计项目选题推荐

摘 要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对学生个性化培养的教学资源平台等问题&#…

动态因子模型

动态因子模型(Dynamic Factor Model, DFM)是一种用于分析高维时间序列数据的方法,它能够从多个观测变量中提取出少数几个潜在的共同因子,这些因子解释了观测变量的主要变动。这在经济学、金融学等领域尤其有用,因为它可以简化数据结构,将多个复杂的经济指标整合为少数几个…

Redis(面试篇)

目录 什么是Redis&#xff1f; Redis有哪些优缺点 Redis为什么这么快 Redis有哪些数据类型 Redis的应用场景 持久化 什么是事务&#xff1f; 如何保证缓存与数据库双写时的数据一致性&#xff1f; Redis有哪些功能 什么是缓存穿透&#xff1f;这么解决&#xff1f; …

进制转换计算幸运数出现次数(华为od机考题)

一、题目 1.原题 有位客人来自异国&#xff0c;在该国使用m进制计数。 该客人有个幸运数字n(n<m)&#xff0c;每次购物时&#xff0c; 其总是喜欢计算本次支付的花费(折算为异国的价格后)中存在多少幸运数字。 问&#xff1a;当其购买一个在我国价值k的产品时&#xff0c;…

【jvm】虚拟机栈是如何运行的

目录 1. 说明2. 栈的创建与线程绑定3. 栈帧的结构4. 栈帧的入栈与出栈5. 异常处理 1. 说明 1.虚拟机栈是Java程序运行时环境中的一个重要组成部分&#xff0c;它主要负责存储线程执行方法时的局部变量、操作数栈、动态链接、方法出口等信息。2.JVM虚拟机栈是Java程序运行时环境…

UE管理内容 —— FBX Asset Metadata Pipeline

随着实时3D制作大小和复杂程度的增加&#xff0c;以及构成现代制作流程的工具数量的不断增加&#xff0c;增加智能自动化来提高美术效率变得越发重要&#xff1b;这种智能自动化通常主要依靠元数据&#xff1a;有关资源的自定义数据&#xff0c;在项目中为资源赋予意义&#xf…

【Nginx】快速入门

概述 Nginx(engine x)是一个高性能的HTTP和反向代理web服务器。 特点是占有内存小&#xff0c;并发能力强&#xff0c;简单易配置&#xff0c;支持高达 50000 个并发连接数的响应。 作用 代理 正向代理&#xff1a; 反向代理&#xff1a; 负载均衡 Nginx提供的负载均衡策…

8.4 数据库基础技术-SQL

大数据 SQL语言 真题 1

I2C总线中的时钟延长和死锁

1. I2C总线的基本工作原理 I2C(Inter-Integrated Circuit)是一种用于在设备之间进行短距离通信的串行总线协议,常用于微控制器与外围设备(如传感器、存储器)之间的数据传输。I2C总线上有两条信号线: SDA(数据线):用于发送和接收数据。SCL(时钟线):由主设备控制,用…

07:极限-零点定理和介值定理

1、零点定理 定义&#xff1a;f(x)在[a, b]上连续&#xff0c;且f(a)f(b) <0.则存在 ξ ∈ \xi ∈ ξ∈[a,b],使 f ( ξ ) 0 f(\xi)0 f(ξ)0 1.1.介值定理&#xff08;最大最小值定理&#xff09; 定义&#xff1a;f(x)在[a,b]上连续&#xff0c;则f(x)在[a, b]上有最大…

[C语言]一、C语言基础

G:\Cpp\C语言精讲 1. C语言入门 1.1 初识计算机语言 计算机编程语言&#xff0c;就是人与计算机交流的方式。人们可以使用编程语言对计算机下达命令&#xff0c;让计算机完成人们需要的功能。 计算机语言有很多种。如&#xff1a;C 、C、Java、Go、JavaScript、Python&#x…

21.3 Netty终章

21.3 Netty终章 一. 聊天消息1. 发送消息给某用户多端设备2. 多端同步自己的消息2.1 `UserChannelSession`会话管理2.2 `WSHandler`中处理本人的消息同步2.3 表情类型消息收发二.====================================================一. 聊天消息 1. 发送消息给某用户多端设…