kafka
文章平均质量分 88
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
赵广陆
CSDN认证博客专家、CSDN的Java领域优质创作者、全网30w+粉丝、超300w访问量、专注于大学生项目实战开发、讲解和答疑辅导、以及产品测评宣传、工具推广等合作。同时招收学生代理、校园代理,对于专业性数据证明一切!
展开
-
RabbitMQ高阶使用消息推送
目录1 从打车开始说起1.1 需要解决的问题1.2 消息推送2 消息推送2.1 什么是消息推送2.2 方案介绍2.2.1 ajax短轮询2.2.2 长轮询2.2.3 WebSocket2.3 WS实现消息推送2.3.1 架构介绍2.3.2 暂存数据2.3.2.1 什么是MongoDB2.3.2.2 插入数据2.3.2.3 查询数据2.4.1 轮询任务2.4.1.1 代码实现原创 2023-06-17 21:16:28 · 3377 阅读 · 0 评论 -
RabbitMQ高阶使用队列实现
目录1 从打车开始说起1.1 需要解决的问题1.1.1 打车排队2 排队人数2.1 需求2.1.1 需求分析2.2 实现方案2.2.1 MySQL2.2.1.1 入队2.2.1.2 获取进度2.2.1.3 遇到问题2.2.3 Redis Zset2.3 排队人数架构介绍2.4 数据结构2.4.2 zset结构2.4.1 雪花算法2.5 功能实现2.5.1 派单2.5.2 获取排队情况2.6 演示2.6.1 派单2.6.2 排队情况查询原创 2023-06-16 23:08:53 · 2002 阅读 · 0 评论 -
RabbitMQ高阶使用延时任务
目录1 从打车开始说起1.1 需要解决的问题1.1.1 打车超时2 延时任务2.1 什么是延时任务2.1.1 和定时任务区别2.2 延时队列使用场景2.3 常见方案2.3.1 数据库轮询2.3.1 JDK的延迟队列2.3.3 netty时间轮算法2.3.4 使用消息队列2.4 延时队列2.4.1 TTL(消息过期时间)2.4.1.1 配置队列TTL2.5 死信队列2.5.1 什么是死信队列2.5.2 死信队列使用场景2.5.3 死信队列如何使用2.5.4 相关代码原创 2023-06-15 22:35:08 · 1272 阅读 · 0 评论 -
如何解决MQ消息队列的延时以及过期失效和积压消息量过大?
目录1 问题分析2 面试题回答2.1 大量消息在 mq 里积压了几个小时了还没解决2.2 mq 中的消息过期失效了2.3 mq 都快写满了1 问题分析1.如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?2.有几百万消息持续积压几小时,说说怎么解决?你看这问法,其实本质针对的场景,都是说,可能你的消费端出了问题,不消费了;或者消费的速度极其慢。接着就坑爹了,可能你的消息队列集群的磁盘都快写满了,都没人消费,这个时候怎么办?或者是这整个就积压了几个原创 2021-01-01 15:47:53 · 3299 阅读 · 0 评论 -
如何保证MQ消息队列的高可用?
目录1 问题分析:2 面试题回答:2.1 RabbitMQ 的高可用性2.2 Kafka 的高可用性1 问题分析:如果有人问到你 MQ 的知识,高可用是必问的。上一篇提到,MQ 会导致系统可用性降低。所以只要你用了 MQ,接下来问的一些要点肯定就是围绕着 MQ 的那些缺点怎么来解决了。要是你傻乎乎的就干用了一个 MQ,各种问题从来没考虑过,那你就杯具了,面试官对你的感觉就是,只会简单使用一些技术,没任何思考,马上对你的印象就不太好了。这样的同学招进来要是做个 20k 薪资原创 2021-01-01 15:00:27 · 862 阅读 · 0 评论 -
如何保证MQ消息消费的幂等性?
目录1 问题分析:2 面试题回答1 问题分析:幂等性(消息不被重复消费)其实这是很常见的一个问题,这俩问题基本可以连起来问。既然是消费消息,那肯定要考虑会不会重复消费?能不能避免重复消费?或者重复消费了也别造成系统异常可以吗?这个是 MQ 领域的基本问题,其实本质上还是问你使用消息队列如何保证幂等性,这个是你架构里要考虑的一个问题。2 面试题回答回答这个问题,首先你别听到重复消息这个事儿,就一无所知吧,你先大概说一说可能会有哪些重复消费的问题。首先,比如 RabbitMQ原创 2021-01-01 15:02:12 · 1773 阅读 · 0 评论 -
消息队列使用优缺点和各种MQ适用场景
目录1 简述MQ2为什么使用消息队列啊?2.1解耦2.2 异步2.3 削峰3 消息队列缺点4 kafka、rabbitmq、rocketmq优点和缺点5 总结1 简述MQMQ:MessageQueue,消息队列。 队列,是一种FIFO 先进先出的数据结构。消息由生产者发送到MQ进行排队,然后按原来的顺序交由消息的消费者进行处理。QQ和微信就是典型的MQ。2为什么使用消息队列啊?比较核心的有3个:解耦、异步、削峰2.1解耦解耦前:...原创 2020-12-19 10:43:46 · 1660 阅读 · 1 评论 -
如何保证MQ中消息的顺序性?
目录1 问题分析2 面试题回答2.1 RabbitMQ2.2 Kafka1 问题分析其实这个也是用 MQ 的时候必问的话题,第一看看你了不了解顺序这个事儿?第二看看你有没有办法保证消息是有顺序的?这是生产系统中常见的问题。2 面试题回答我举个例子,我们以前做过一个 mysqlbinlog同步的系统,压力还是非常大的,日同步数据要达到上亿,就是说数据从一个 mysql 库原封不动地同步到另一个 mysql 库里面去。原创 2021-01-01 15:38:36 · 8042 阅读 · 0 评论 -
该如何进行架构设计一个MQ消息队列?
目录1 问题分析2 面试题回答1 问题分析如果让你写一个消息队列,?说一下你的思路。其实聊到这个问题,一般面试官要考察两块:你有没有对某一个消息队列做过较为深入的原理的了解,或者从整体了解把握住一个消息队列的架构原理。 看看你的设计能力,给你一个常见的系统,就是消息队列系统,看看你能不能从全局把握一下整体架构设计,给出一些关键点出来。说实话,问类似问题的时候,大部分人基本都会蒙,因为平时从来没有思考过类似的问题,大多数人就是平时埋头用,从来不去思考背后的一些东西。类似的问题,原创 2021-01-01 15:50:45 · 882 阅读 · 0 评论 -
如何保证MQ中消息的可靠性传输?
目录1 问题分析:2 面试题回答:2.1 RabbitMQ2.1.1 生产者弄丢了数据2.1.2 RabbitMQ 弄丢了数据2.1.3 消费端弄丢了数据2.2 Kafka2.2.1 消费端弄丢了数据2.2.2 Kafka 弄丢了数据2.2.3 生产者会不会弄丢数据?1 问题分析:可靠性传输或者说理消息丢失的问题,这个是肯定的,用 MQ 有个基本原则,就是数据不能多一条,也不能少一条,不能多,就是前面说的重复消费和幂等性问题。不能少,就是说这数据别搞丢了。原创 2021-01-01 15:32:39 · 1659 阅读 · 0 评论 -
Kafka JavaAPI
目录1 Producer API1.1 消息发送流程1.2 异步发送 API1.2.1 不带回调函数的 API1.2.2 带回调函数的 API1.3 同步发送 API2 Consumer API2.1 自动提交 offset2.2 手动提交 offset2.2.1 同步提交 offset2.2.2. 异步提交 offset2.3 自定义存储 offset1 Producer API1.1 消息发送流程Kafka 的 Producer 发送消息采用的是 异步发送的方式。在消息发送的过程中,涉及到了原创 2021-11-09 21:00:00 · 688 阅读 · 0 评论 -
Kafka集群搭建
目录1 下载或复制Kafka安装包2 解压缩Kafka安装包3 配置Kafka集群4 Kafka的初步应用4.1 创建主题4.2 发送消息4.3 消费消息1 下载或复制Kafka安装包http://archive.apache.org/dist/kafka/0.10.1.0/2 解压缩Kafka安装包tar -zxvf kafka_2.11-0.10.1.0.gz3 配置Kafka集群配置Kafka集群时只需要修改broker.id和zookeeper.connect。在Master原创 2021-11-04 21:15:00 · 482 阅读 · 0 评论 -
Kafka-Eagle安装及使用简介
目录1 下载安装2 环境配置3 页面功能4 KSQL的常用语句1 下载安装1.kafka-eagle-bin-1.2.4.tar.gz 安装包下载,官网 或者在我百度网盘中下载。点击下载2.我们直接按照步骤详细说明下安装步骤,JDK一定要安装必须知道JDK的安装路径2 环境配置2.1.安装包拷贝至服务器解压安装包tar -zxf kafka-eagle-bin-1.2.4.tar.gz2.2设置全局变量,设置JDK的全局变量JAVA_HOME和本应用的KE_HOME--使用root权限编辑原创 2021-04-06 16:02:42 · 673 阅读 · 0 评论 -
kafkaStream处理实时流式计算
目录1 实时流式计算1.1 概念1.2 应用场景1.3 技术方案选型2 Kafka Stream2.1 概述2.2 Kafka Streams的关键概念2.3 KStream&KTable2.4 Kafka Stream入门案例编写2.5 SpringBoot集成Kafka Stream1 实时流式计算1.1 概念一般流式计算会与批量计算相比较。在流式计算模型中,输入是持续的,可以认为在时间上是无界的,也就意味着,永远拿不到全量数据去做计算。同时,计算结果是持续输出的,也即计算结果在时间上也是原创 2021-04-05 23:27:03 · 2171 阅读 · 2 评论 -
kafka集群操作
目录1 kafka集群环境的安装2 kafka集群环境搭建总结:3 Kafka集群操作3.1 创建topic3.2 查看topic3.3 生产数据3.4 消费数据3.5 查看topic的一些信息3.6 修改topic的配置属性3.7 删除topic1 kafka集群环境的安装注意:kafka集群依赖于zk集群,一定要保证zk集群的可用验证zk集群是否可用:bin/zkServer.sh status 一定要保证出现一个leader,其他的都是follower即可2 kafka集群环境搭建总原创 2021-04-05 19:41:03 · 272 阅读 · 0 评论 -
kafka快速入门
目录1 kafka1.1 kafka介绍1.2 kafka安装和配置1.2.1 jdk环境1.2.2 zookeeper安装1.2.3 kafka安装1.3 kafka入门案例1.3.1 创建工程kafka-demo1.3.2 消息生产者1.3.3 消息消费者1.3.4 测试及结论-重要1.3.5 相关概念再介绍1.3.5 生产者详解-理解1.3.6 消费者详解-理解1.4 spring boot集成kafka收发消息1.4.1 环境搭建1.4.2 消息生产者1.4.3 消息消费者1.4.4 测试1.5 传原创 2021-02-17 12:02:21 · 3419 阅读 · 0 评论 -
Windows使用RocketMq
目录1 下载RocketMQ2 添加环境变量3 启动服务1 下载RocketMQ首先,我们去下载RocketMQ,RocketMQ 是一个开源的东西,可以去github上面下载,地址是:https://github.com/apache/rocketmq/tree/master/docs/cn下载之后直接解压:我们会看到一个alibaba-rocketmq的文件夹,这个就是我们需要的了。这个其实很好安装,只需要添加一个环境变量就可以了2 添加环境变量打开电脑的环境变量配置,添加一个NAME原创 2020-12-28 11:15:52 · 908 阅读 · 0 评论 -
RocketMQ高级特性
目录1 消息的存储2 消息的存储3 消息的存储介质4 高效的消息存储与读写方式5 消息存储结构6 刷盘机制7 高可用性8 主从数据复制9 负载均衡10 消息重试10.1 顺序消息重试10.2 无序消息重试11 死信队列12 死信处理13 消息重复消费14 消息幂等1 消息的存储消息生成者发送消息到MQMQ返回ACK给生产者MQ push 消息给对应的消费者消息消费者返回ACK给MQ说明:ACK(Acknowledge character)[外链图片转存失败,源站可能有防盗链机制,建议原创 2020-12-20 08:39:48 · 1167 阅读 · 1 评论 -
RocketMQ集群搭建
目录1 RocketMQ集群分类2 RocketMQ集群特征3 rocketmq-console集群监控平台搭建1 RocketMQ集群分类单机一个broker提供服务(宕机后服务瘫痪)集群多个broker提供服务(单机宕机后消息无法及时被消费)多个master多个slavemaster到slave消息同步方式为同步(较异步方式性能略低,消息无延迟)master到slave消息同步方式为异步(较同步方式性能略高,数据略有延迟)[外链图片转存失败,源站可能有防盗链原创 2020-12-20 08:37:26 · 727 阅读 · 1 评论 -
RocketMQ快速入门
目录1. MQ简介1.1 项目工程弊端1.2 MQ简介1.3 MQ作用1.4 MQ基本工作模式1.5 MQ优缺点分析1.6 MQ产品介绍2. 环境搭建2.1 基础概念2.2 安装2.3 下载2.4 安装过程2.5 启动服务器2.6 测试服务器环境3. 消息发送(重点)3.1 主要内容和相关概念3.1.1 Topic3.1.2 Tag3.1.3 GroupName3.2 消息发送与接收开发流程3.3 单生产者单消费者消息发送(OneToOne)3.4 单生产者单消费者消息发送(OneToOne)3.5 单生产原创 2020-12-20 08:34:07 · 1081 阅读 · 1 评论 -
RabbitMQ集群搭建
目录1.RabbitMQ集群搭建1.1 集群方案的原理1.2 单机多实例部署1.3 集群管理1.4 RabbitMQ镜像集群配置1.5 负载均衡-HAProxy1.5.1 安装HAProxy1.5.2 配置HAProxy1.RabbitMQ集群搭建摘要:实际生产应用中都会采用消息队列的集群方案,如果选择RabbitMQ那么有必要了解下它的集群方案原理一般来说,如果只是为了学习RabbitMQ或者验证业务工程的正确性那么在本地环境或者测试环境上使用其单实例部署就可以了,但是出于MQ中间件本身的原创 2020-07-23 08:44:25 · 702 阅读 · 0 评论 -
RabbitMQ快速入门
目录1. 消息中间件概述1.1. 什么是消息中间件1.2. AMQP 和 JMS1.2.1. AMQP1.2.2. JMS1.2.3. AMQP 与 JMS 区别1.3. 消息队列产品1.4. RabbitMQ2. 安装及配置RabbitMQ3. RabbitMQ入门3.1. 搭建示例工程3.1.1. 创建工程3.1.2. 添加依赖3.2. 编写生产者3.3. 编写消费者3.4. 小结4. AMQP4.1. 相关概念介绍4.2. RabbitMQ运转流程4.3. 生产者流转过程说明4.4. 消费者流转过程说原创 2020-07-23 08:30:11 · 919 阅读 · 0 评论