随笔分类 -  消息队列

摘要:概述 kafka 是什么 ? Apache Kafka® is a distributed streaming platform 是一个分布式的流(stream) 框架 那么它意味着什么呢?一个流框架有三个重要能力 : 发布-订阅流记录,就像消息队列 用 fault-tolerant (错误容忍,翻 阅读全文
posted @ 2022-08-20 16:47 float123 阅读(49) 评论(0) 推荐(0) 编辑
摘要:本文图片和部分总结来自于参考资料,半原创,侵删 问题 Rocketmq 重试是否有超时问题,假如超时了如何解决,是重新发送消息呢?还是一直等待 假如某个 msg 进入了重试队列(%RETRY_XXX%),然后成功消费了 概述 文章介绍了RocketMQ 的重试机制和消息重试的机制。 定时任务 定时任 阅读全文
posted @ 2020-01-07 15:59 float123 阅读(3235) 评论(1) 推荐(0) 编辑
摘要:文章部分图片来自参考资料,侵删概述我们从前面的发送流程知道某个主题的消息到了broker 的 messageque 里,假如让我们来设计一个消息队列的消费者过程,那么多个消费者应该如何消费数量较少的 messagequeue 呢?消费者有两种消费模式 : 广播模式和集群模式 ,广播模式很好理解就是消费所有的消息;集群模式相当于多个消费者逻辑上认为是一个整体,最通俗的理解就是一个消息在集群里面只有一... 阅读全文
posted @ 2019-12-27 15:04 float123 阅读(1730) 评论(1) 推荐(1) 编辑
摘要:问题index 文件有什么作用,结构又是如何概述index 文件主要是为了 message key 服务的,rocketmq 发送消息的时候可以带上 key , messge key 是为了标识某个消息的一个标志。思考我们思考一下,message key 是由用户生成的,我们需要尽可能地保证散列保存,这样当我们就可以快速地拿出来了。那么通常的作法就是利用哈希散列,当然最重要的是如何解决冲突。我们下... 阅读全文
posted @ 2019-11-19 22:59 float123 阅读(273) 评论(0) 推荐(0) 编辑
摘要:问题:consumeQueue 如何工作刷盘机制如何工作概述该节我们将学习 consumeQueue 如何工作,先来看一下消息发送的大概过程。而为什么需要 consumeQueue 的存在呢?我们只有一个 commitLog 文件,那么假如需要查找某个主题下的消息,那么我们不得不遍历整个commmitLog 来完成查询,consumeQueue 的存在方便的消息的查询获取。首先来看一下 consu... 阅读全文
posted @ 2019-11-19 22:58 float123 阅读(617) 评论(0) 推荐(0) 编辑
摘要:问题 ; 部署时如何知道自己是 broker 还是 NameServer topic 订阅信息放在哪里 broker 的作用到底是什么 纪录是如何持久化的 群发的时候,是如何储存消息的 send 方法到底有没有使用多线程发送处理,简单叙述一个 send 的过程 transientStorePool 阅读全文
posted @ 2019-10-23 21:26 float123 阅读(586) 评论(0) 推荐(0) 编辑
摘要:概述 接着我们上一篇继续分析消息发送,上节讲到消息发送前有可能遇到 broker 失效的情况,RocketMQ 主要是采用两种策略 :重试发送broker 故障延迟机制 后者指的是当发送给某一broker失败后,会将该broker暂时排除在消息队列的选择范围内,到达某个时间点后再继续重试发送,发送的时候消耗的时长越多,那么延迟的时长就越多(就像缓存算法一样,使用得越少,越容易给淘汰)。下面介绍... 阅读全文
posted @ 2019-10-11 14:02 float123 阅读(687) 评论(0) 推荐(0) 编辑
摘要:概述RocketMQ 发送普通消息有三种可靠同步发送可靠异步发送单向(oneway)发送 :只管发送,直接返回,不等待消息服务器的结果,也不注册回调函数,简单地说,就是只管发,不管信息是否发送到了消息服务器中。发送消息示例 /* * Instantiate with a producer group name. */ DefaultMQP... 阅读全文
posted @ 2019-10-09 16:01 float123 阅读(960) 评论(0) 推荐(0) 编辑
摘要:概述 所有broker在启动的时候都会向NameServer进行注册,对它进行发送心跳包。 源码阅读 路由注册 上面的字段在可以通过下面两张图来理解 registerBrokerAll 方法 brokerOuterAPI 的 registerBrokerAll 方法 其中 RemotingClien 阅读全文
posted @ 2019-10-08 15:28 float123 阅读(518) 评论(0) 推荐(0) 编辑
摘要:消息队列概述 队列的本质 一次RPC变成两次 RPC 内容转储 选择合适的时机投递 队列设计重点 RPC 通信协议 存储选型 消费关系处理 实现事务 防丢/防重 批量/异步与性能 强烈推荐这篇文章,从设计的角度来思考消息队列的各种问题,阅读源码只是理解设计的最终实现,只有知道了设计的思路阅读源码才会 阅读全文
posted @ 2019-10-08 13:21 float123 阅读(348) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示