一、broker消息存储 本节揭露broker上消息存储的真实目录结构+存储方式。 1.1 目录、文件结构 有3个比较重要的文件: commitLog消息日志:消息主体以及元数据的存储主体,存储Producer端写入的消息主体内容, consumequeue逻辑消费队列:存储了commitLog的起 ...
分类:
其他好文 时间:
2021-07-21 17:31:03
阅读次数:
0
?简介: 我们在几年前决定引入 MQ 时,市场上已经有不少成熟的解决方案,比如 RabbitMQ , ActiveMQ,NSQ,Kafka 等。考虑到稳定性、维护成本、公司技术栈等因素,我们选择了 RocketMQ。 ? 背景介绍 ? 为何选择 RocketMQ ? 我们在几年前决定引入 MQ 时, ...
分类:
其他好文 时间:
2021-07-02 16:09:00
阅读次数:
0
一 概述 NameServer的主要作用是, 1 路由功能。生产者查询NameServer,根据Topic选择它要发送的MessageQueue。 2 通过和每个broker发送心跳,更新注册信息,剔除失效broker 二 主要成员变量 public class RouteInfoManager { ...
分类:
其他好文 时间:
2021-06-28 18:43:42
阅读次数:
0
1. 为什么你们公司选择RabbitMQ作为消息中间件 在消息队列选型时,我们调研了市场上比较常用ActiveMQ,RabbitMQ,RocketMQ,Kafka。 RabbitMQ相对成熟稳定,这是我们选择它最主要的原因。 社区比较活跃,有完善的资料可以参考。 Rabbitmq的吞吐量可以达到万级 ...
分类:
其他好文 时间:
2021-06-22 18:28:57
阅读次数:
0
1.org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, MyTopic 报错信信息如下: Exception in thread "main" org.apache.rocketmq ...
分类:
其他好文 时间:
2021-06-11 18:46:49
阅读次数:
0
1. Cannot allocate memory RocketMQ默认安装需要使用8G的内存,所以如果内存不够会导致启动失败,这时需要修改配置文件bin/runbroker.sh,修改xms、xmx和xmn。参考https://www.cnblogs.com/freeweb/p/7817968.h ...
分类:
其他好文 时间:
2021-06-08 23:24:24
阅读次数:
0
现在我们从源码来分析(一)中所涉及的东西 提问 问一下自己想从源码中知道什么, 带着目的去看源码才容易搞懂. 从下述的代码中发现定义了一个Function的Bean和在yaml中定义了definition, 那么这两个定义的作用是什么呢? Function是怎么样去绑定、注册的呢? 带着问题我们就可 ...
分类:
编程语言 时间:
2021-06-02 14:52:40
阅读次数:
0
Start Name Server > nohup sh bin/mqnamesrv & > tail -f ~/logs/rocketmqlogs/namesrv.log The Name Server boot success... 1、先启动NameServer: 在bin下执行: nohup ...
分类:
其他好文 时间:
2021-06-02 13:47:34
阅读次数:
0
本文从高可用的角度观察一下 RabbitMQ、Kafka、RocketMQ,看看它们各自的实现思路。 1. RabbitMQ RabbitMQ 有 3 种部署模式: 单机模式 普通集群模式 镜像集群模式 单机模式与高可用完全没关系,咱就不说了,直接看看这2种集群模式。 1.1 普通集群模式 某一个 ...
分类:
其他好文 时间:
2021-05-24 04:17:36
阅读次数:
0
Rocketmq没有选择使用zookeeper作为注册中心,而是自行开发NameServer就是为了实现方便,NameServer的最大特点就是它没有主从主备的概念,每个NameServer之间的数据甚至可以是不同的。 那么客户端在选择NameServer时的策略时什么样的呢? RocketMQ会将 ...
分类:
其他好文 时间:
2021-05-04 15:36:47
阅读次数:
0