接触 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

  1. ----------- broker-a.propertes
  2. listenPort=10911
  3. namesrvAddr=localhost:9876
  4. storePathRootDir=D:\\tools\\rocketmq-all-4.3.2-bin-release\\store
  5. storePathCommitLog=D:\\tools\\rocketmq-all-4.3.2-bin-release\\store\\commitlog
  6.  
  7. ----------- broker-b.propertes
  8. listenPort=20911
  9. namesrvAddr=localhost:9876
  10. storePathRootDir=D:\\tools\\rocketmq-all-4.3.2-bin-release\\store2
  11. storePathCommitLog=D:\\tools\\rocketmq-all-4.3.2-bin-release\\store2\\commitlog

启动

  1. mqbroker.cmd -c ../conf/2m-noslave/broker-a.properties
  2. 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. php配置伪静态如何将.htaccess文件转换 nginx伪静态文件

    php通常设置伪静态三种情况,.htaccess文件,nginx伪静态文件,Web.Config文件得形式,如何将三种伪静态应用到项目中呢, 1,.htaccess文件 实例 <IfModule ...

  2. 使用axios发送ajax请求

    1.安装 npm install axios 2.在Home.vue中引入 import axios from 'axios' export default {   name: 'Home',   c ...

  3. 用HTTP核心模块配置一个静态Web服务器

    静态Web服务器的主要功能由ngx_http_core_module模块(HTTP框架的主要成员)实现与core模块类似,可以根据相关模块(如ngx_http_gzip_filter_module.n ...

  4. CentOS7升级gcc

    CentOS7.5升级gcc到8.3.0版本 1.下载源码包 cd /usr/local/src wget http://ftp.tsukuba.wide.ad.jp/software/gcc/rel ...

  5. 03python面向对象编程3

    案例学习 # notebook.pyimport datetime # Store the next available id for all new notes last_id = 0 class ...

  6. shell字符串拼接

    name="Shell" url="http://c.biancheng.net/shell/" str1=$name$url #中间不能有空格 str2=&q ...

  7. MySQL新增用户及赋予权限

    创建用户 USE mysql; #创建用户需要操作 mysql 表 # 语法格式为 [@'host'] host 为 'localhost' 表示本地登录用户,host 为 IP地址或 IP 地址区间 ...

  8. redis面试题集錦

    1为什么Redis需要把所有数据放到内存中? Redis为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数据写入磁盘.所以Redis具有快速和数据持久化的特性.如果不将数据放到内存中,磁盘 ...

  9. Python---进阶---logging---装饰器打印日志2

    ### logging - logging.debug - logging.info - logging.warning - logging.error - logging.critical ---- ...

  10. Python---进阶---常用模块os、jso

    一.写一个6位随机验证码程序(使用 random模块),要求验证码中至少包含一个数字.一个小写字母.一个大写字母 import randomimport string #help(string) co ...