![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
消息队列
文章平均质量分 82
包含常用的消息队列,如:Kafka、RocketMQ等。
bmyyyyyy
来一JAY个
展开
-
【Kafka-Consumer分区分配策略】Kafka 消费者组三种分区分配策略 Range Assignor、RoundRobin Assignor、Sticky Assignor 详细解析
1、一个 consumer group 中有多个 consumer 组成,一个 topic 有多个 partition 组成,现在的问题是,到底由哪个 consumer 来消费哪个 partition 的数据。2、Kafka有四种主流的分区分配策略: Range、RoundRobin、Sticky、CooperativeSticky。可以通过配置参数,修改分区的分配策略。默认策略是 Range + CooperativeSticky。Kafka 可以同时使用多个分区分配策略。原创 2024-01-27 09:45:00 · 1939 阅读 · 0 评论 -
【RocketMQ-Install】RocketMQ 的安装及基础命令的使用
⑤ 通过上述修改,将初始堆内存512M,最大堆内存设置为512M,新生代(Java中用于存储创建对象的部分)设置为256M,修改完成后便可以正常启动以及查看日志。① 在启动前需要进入 bin 目录下修改一下配置文件,增加外网地址便于访问。按照自己的需求来,需要哪个便修改哪一个配置文件。下载完成之后,使用IDEA打开,可以自定义修改启动的端口配置。在bin目录下执行cmd命令呼出命令框,执行。查看日志,由于堆空间初始值太大也报错。与上述同样的路径下呼出对话框,执行。① 进入bin目录下,执行。原创 2023-12-16 12:05:04 · 553 阅读 · 0 评论 -
【RocketMQ-Producer-Consumer】定义 RocketMQ 工具类使用 SDK 发送与消费消息
【RocketMQ-Producer-Consumer】定义 RocketMQ 工具类使用 SDK 发送与消费消息、说明:客户端连接 RocketMQ 实例5.x版本收发普通消息前,需要确保 Topic 的消息类型为“普通”。原创 2023-12-18 14:57:53 · 668 阅读 · 0 评论 -
【RocketMQ-Bug】RocketMQ 在使用中的常见问题
1、这个异常本质就是 rpc 调用超时,rocket 的 rpc 请求都是异步的。可能是有人发送了大消息,或者 rocket 发生了波动。1、broker 上不存在该 topic,创建该 topic 即可;注意:测试环境 topic 都是自动创建,偶尔会出现创建异常情况,使用手动创建保证创建成功;当然以上都是建立在你的程序没有问题的基础上!1、首先来到rocketmq目录下,修改conf文件夹下broker.conf 文件当中的配置。2、broker 没有正确链接到name server上;原创 2023-12-19 10:35:35 · 1552 阅读 · 0 评论 -
【Kafka-Shell命令中zookeeper与boostrap server参数】Kafka-Shell命令中--zookeeper与--boostrap-server参数的区别
旧版用 --zookeeper 参数,主机名(或IP)和端口用 ZooKeeper 的2181,也就是 server.properties 文件中 zookeeper.connect 属性的配置值.新版用 --bootstrap-server 参数,主机名(或IP)和端口用某个节点的即可,即主机名(或主机IP):9092。ps:使用 --zookeeper 参数还需要指定 kafka 的 Broker 路径,注意不是在根目录下,是在 /kafka 路径下。是旧版 Kafka 的参数(v2.8以前)原创 2023-04-12 12:23:15 · 221 阅读 · 0 评论 -
【Kafka-3.x-教程】-【七】Kafka 生产调优、Kafka 压力测试
那么当生产者向一个未创建的主题发送消息时,会自动创建一个分区数为 num.partitions(默认值为1)、副本因子为 default.replication.factor(默认值为 1)的主题。:默认是 none,不压缩,但是也可以使用 lz4 压缩,效率还是不错的,压缩之后可以减小数据量,提升吞吐量,但是会加大 producer 端的 CPU 开销。服务器台数 = 2 * (生产者峰值生产速率 * 副本 / 100) + 1 = 2 * (20m/s * 2 / 100) + 1 = 3 台。原创 2024-01-10 16:36:18 · 1399 阅读 · 0 评论 -
【Kafka-3.x-教程】-【四】Kafka-消费者-Consumer
1、一个消费者可以消费多个分区的数据。消费者之间是完全独立的。2、每个分区的数据只能由消费者组中的一个消费者进行消费。3、Kafka 的 offset(偏移量)负责记录消费者或消费者组消费数据的位置。4、新版本的 Kafka 由 __consumer_offsets 这个主题来记录 offset。老版本是存储在 ZK 的 consumer 目录下,会产生消费者和 ZK 的大量频繁的交互,网络压力较大。5、Kafka 的 offset 是持久化到硬盘中的,所以数据安全性得以保障。原创 2024-01-10 16:35:35 · 1495 阅读 · 0 评论 -
【Kafka-3.x-教程】-【二】Kafka-生产者-Producer
在消息发送的过程中,涉及到了两个线程 — — main 线程和 Sender 线程。在 main 线程中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给 RecordAccumulator,Sender 线程不断从 RecordAccumulator 中拉取消息发送到 Kafka Broker。1、外部数据通过 Producer 生产者中的 main 线程,调用 send 方法后,会经历三个阶段,分别是 Interceptors(拦截器)、Serializer(序列化器)原创 2024-01-10 16:34:58 · 1526 阅读 · 0 评论 -
【Kafka-架构及基本原理】Kafka生产者、消费者、Broker原理解析 & Kafka原理流程图
每个 segment 由 index 索引文件和 log 日志文件组成,index 文件中记录着信息的索引,log 文件中记录的就是消息的内容。:如果有 offset 记录的位置,就从记录的位置开始消费,如果没有 offset 的记录,就从最早的位置开始消费。:如果有 offset 记录的位置,就从记录的位置开始消费,如果没有 offset 的记录,就从最新的位置开始消费。注意:同一时间的一条消息只能被一个消费者组内的一个消费者所消费,但是可以被不同的消费者组的消费者再次消费。【Kafka-架构及基本原理】原创 2023-04-13 15:05:05 · 962 阅读 · 0 评论 -
【Kafka-Kerberos下执行shell命令】Kafka在Kerberos环境下如何操作shell命令
当大数据集群部署了 Kerberos 认证操作之后,在服务器上操作 kafka shell 命令就会出现认证相关的异常,如:未配置 jaas.conf 导致的异常:未指定 client.properties 配置文件导致的超时:所以需要我们进行相关认证操作才可以正常执行 kafka shell。【Kafka-Kerberos下执行shell命令】Kafka在Kerberos环境下如何操作shell命令原创 2023-04-12 11:56:14 · 607 阅读 · 0 评论 -
【Kafka-3.x-教程】-【五】Kafka-监控-Eagle
Kafka-Eagle 框架可以监控 Kafka 集群的整体运行情况,在生产环境中经常使用。1)MySQL 环境准备Kafka-Eagle 的安装依赖于 MySQL,MySQL 主要用来存储可视化展示的数据。如果集群中之前安装过 MySQL 可以跨过该步。原创 2024-01-10 16:35:48 · 1271 阅读 · 0 评论 -
【Kafka-一键启动脚本】自定义shell脚本实现Kafka一键启动
【代码】【Kafka-一键启动脚本】自定义shell脚本实现Kafka一键启动。原创 2023-03-16 17:14:29 · 820 阅读 · 0 评论 -
【Kerberos-KafkaTool】在大数据Kerberos认证下使用KafkaTool工具
【Kerberos-KafkaTool】在大数据Kerberos认证下使用KafkaTool工具原创 2023-07-04 12:23:44 · 813 阅读 · 0 评论 -
【Kafka-3.x-教程】-【三】Kafka-Broker、Kafka-Kraft
1、Broker 启动后向 ZK 进行注册,ZK 记录好存活的 Broker。2、每个 Broker 中都有 Controller,谁的 Controller 先注册谁就是 Controller Leader。3、Controller Leader 上线后监听已经注册的 Broker 节点的变化。4、Controller 开始选举 Leader(1)选举规则:在 ISR 中存活着的节点,按照 AR 中排在前面的优先,Leader 也会按照 AR 中的排列顺序进行轮询。(2)AR:Kafk原创 2024-01-10 16:35:14 · 1627 阅读 · 1 评论 -
【Kafka-分区增加副本】Kafka分区增加副本
Kafka 中 topic 的每个分区可以设置多个副本。如果副本数为1,当该分区副本的 leader 节点宕机后,会导致该分区不可用。故需要设置多副本来保证可用性。实际项目中,存在项目初期创建了副本数为1的 topic,但是后期又需要扩大副本数的场景。通常不能直接删除 topic 重建,可以通过如下操作实现。【Kafka-分区增加副本】Kafka分区增加副本原创 2023-04-12 11:35:17 · 1456 阅读 · 0 评论 -
【Kafka-3.x-教程】-【六】Kafka 外部系统集成 【Flume、Flink、SpringBoot、Spark】
(3)在 main 下创建 scala 文件夹,并右键 Mark Directory as Sources Root -> 在 scala 下创建包名为 com.test.spark。可以用于 Kafka 的生产者,也可以用于 SpringBoot 的消费者。可以用于 Kafka 的生产者,也可以用于Flume 的消费者。Flink 是一个在大数据开发中非常常用的组件。可以用于 Kafka 的生产者,也可以用于Flink 的消费者。可以用于 Kafka 的生产者,也可以用于Spark 的消费者。原创 2024-01-10 16:36:06 · 1356 阅读 · 2 评论 -
【Kafka-3.x-教程】-【一】Kafka 概述、Kafka 快速入门
Kafka 是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。缓冲/消峰:有助于控制和优化数据流经过系统的速度,解决生产消息和消费消息的处理速度不一致的情况。解耦:允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。异步通信:允许用户把一个消息放入队列,但并不立即处理它,然后在需要的时候再去处理它们。kafka的安装部署、kafka的基本命令。原创 2024-01-10 16:34:39 · 1439 阅读 · 0 评论