接触 kafka 有一段时间了,一个人的力量实在有限,国内 rocketmq 的生态确实更好,决定换方向。

rocketmq 文档地址:http://rocketmq.cloud/zh-cn/docs/bestpractice-broker.html

windows 环境下测试,

启动 nameserver:

mqnamesrv.cmd -n localhost:9876

启动 broker:

mqbroker.cmd -n localhost:9876

创建 topic,创建的 topic 默认 8 个分区:

mqadmin.cmd updateTopic -n localhost:9876 -b localhost:10911 -t TopicTest

查看 topic 分区信息:

mqadmin.cmd topicStatus -n localhost:9876 -t TopicTest

根据分区 offset 查询消息:

mqadmin.cmd queryMsgByOffset -n localhost:9876 -b zhang -i 0 -o 30 -t TopicTest

windows 单机部署 2m

----------- broker-a.propertes
listenPort=10911
namesrvAddr=localhost:9876
storePathRootDir=D:\\tools\\rocketmq-all-4.3.2-bin-release\\store
storePathCommitLog=D:\\tools\\rocketmq-all-4.3.2-bin-release\\store\\commitlog ----------- broker-b.propertes
listenPort=20911
namesrvAddr=localhost:9876
storePathRootDir=D:\\tools\\rocketmq-all-4.3.2-bin-release\\store2
storePathCommitLog=D:\\tools\\rocketmq-all-4.3.2-bin-release\\store2\\commitlog

启动

mqbroker.cmd -c ../conf/2m-noslave/broker-a.properties
mqbroker.cmd -c ../conf/2m-noslave/broker-b.properties

集群环境下,创建 topic:

mqadmin.cmd updateTopic -n localhost:9876 -c DefaultCluster -t topic-zhang

这样会在 2 个 master 上分别创建 8 个分区。代码逻辑在 org.apache.rocketmq.tools.command.topic.UpdateTopicSubCommand#execute 中。

转战 rocketmq的更多相关文章

  1. RocketMQ原理解析-Remoting

    Remoting2. 通信层底层传输协议 RocketMq服务器与客户端通过传递RemotingCommand来交互,通过NettyDecoder,对RemotingCommand进行协议的编码与解码 ...

  2. RocketMQ原理解析-Broker

    broker 1. broker的启动 brker的启动 Broker向namesrv注册 1. 获取namesrv的地址列表(是乱序的) 2. 遍历向每个namesrv注册topic的配置信息top ...

  3. RocketMQ原理解析-Consumer

    consumer 1.启动 有别于其他消息中间件由broker做负载均衡并主动向consumer投递消息,RocketMq是基于拉模式拉取消息,consumer做负载均衡并通过长轮询向broker拉消 ...

  4. RocketMQ原理解析-Producer

    producer  producer 1.启动流程 Producer如何感知要发送消息的broker即brokerAddrTable中的值是怎么获得的, 1. 发送消息的时候指定会指定topic,如果 ...

  5. 分布式开放消息系统(RocketMQ)的原理与实践

    分布式消息系统作为实现分布式系统可扩展.可伸缩性的关键组件,需要具有高吞吐量.高可用等特点.而谈到消息系统的设计,就回避不了两个问题: 消息的顺序问题 消息的重复问题 RocketMQ作为阿里开源的一 ...

  6. rocketmq生产者和消费者

    1.生产者: package com.ebways.mq.test.mq; import com.alibaba.rocketmq.client.exception.MQClientException ...

  7. rocketmq查看命令

    首先进入 RocketMQ 工程,进入/RocketMQ/bin   在该目录下有个 mqadmin 脚本 .  查看帮助:   在 mqadmin 下可以查看有哪些命令    a: 查看具体命令的使 ...

  8. rocketmq生产者部署的机器注意事项

    报错: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'warningP ...

  9. Kafka vs RocketMQ——多Topic对性能稳定性的影响-转自阿里中间件

    引言 上期我们对比了RocketMQ和Kafka在多Topic场景下,收发消息的对比测试,RocketMQ表现稳定,而Kafka的TPS在64个Topic时可以保持13万,到了128个Topic就跌至 ...

随机推荐

  1. 排列perm HYSBZ - 1072(状压dp/暴力)

    Description 给一个数字串s和正整数d, 统计s有多少种不同的排列能被d整除(可以有前导0).例如123434有90种排列能被2整除,其中末位为2的有30种,末位为4的有60种. Input ...

  2. Solr安装(单机版)

    本文记录的是solr在win下安装配置使用的过程,最后将solr部署到Linux上通过远程访问.下一篇文章会介绍   solr集群搭建(SolrCloud)    的安装! Solr是基于Lucene ...

  3. 【 React -- 2/100 】使用React实现评论功能

    React| 组件化 | 递归 | 生成唯一ID 需要探究一下 .find() 和 findIndex() 的区别 import React from 'react' import './commen ...

  4. gradle + mybatis 复制xml等配置文件到输出目录

    问题 部署项目并启动项目后,使用mybatis时候,报一个错误:org.apache.ibatis.binding.BindingException: Invalid bound statement ...

  5. maven多模块tomcat启动报 NoClassDefFoundError:com/test/main/message

    maven多模块tomcat启动报 NoClassDefFoundError:com/test/main/message 扫描不到 添加子模块jar包

  6. Python 操作sqlite数据库及保存查询numpy类型数据(二)

    # -*- coding: utf-8 -*- ''' Created on 2019年3月6日 @author: Administrator ''' import sqlite3 import nu ...

  7. Windows 开启 winrm

    # Windows 开启 winrm   ``` Enable-PSRemoting   winrm enumerate winrm/config/listener   winrm quickconf ...

  8. java并发学习--第七章 JDK提供的线程工具类

    一.ThreadLocal ThreadLocal类用于隔离多线程中使用的对象,为ThreadLocal类中传递的泛型就是要隔离的对象,简单的来说:如果我们在主线程创建了一个对象,并且需要给下面的多线 ...

  9. 手机能连接上ipsec

    手机能连接上,但是FQ不行,路由也正常,iptables也设置,内核转发也弄了,暂时需要看看日志才行了,不知道什么情况,其他类型的没问题

  10. Deepin(Ubuntu)安装rpm软件包

    1.首先安装alien和fakeroot这两个软件,alien可以将rpm转换为deb包. 在终端中输入命令 sudo apt-get install alien fakeroot 2.使用alien ...