it地址: https://github.com/apache/rocketmq.git
?
启动NameServer启动配置,配置下RocketHome
环境变量:ROCKETMQ_HOME=C:\codes\rocketmq-release-4.0.0-incubating
启动Broke配置
broker的启动类为org.apache.rocketmq.broker.BrokerStartup,添加程序运行参数-n 127.0.0.1:9876 autoCreateTopicEnable=true即可运行broker服务,broker服务根据配置的9876端口会将自身信息注册到namesrv中。
https://github.com/apache/rocketmq/tree/master/docs/cn
一个mq的重要概念一般有那些?
? producer,consumer,broker,partition,register center,rpc链接,序列化,数据持久化,rebalace
nameserver的作用是啥?
记录了Broke,topic,Queue的关系。
Topic和Queue,Broke 是什么样的关系,然后消息是如何发送和消费的?
1:一般来说订阅发布机制 只需要一个Queue就可以实现了,秉承着FIFO的原则,但是假如一个只有Queue,消费端的并发量就上不去,所以设计上就需要把消息分散到多个Queue上面去,然后consumer
消费对应的Queue,这样消费并发就上去了,然后把这一组Queue 就当做一个topic.
2:Broker就是存放Queue的服务,可以是多个topic的 Queue. 它们之间的关系是 一个topic对应多个Queue,然后Queue平均散落在broke上, 一个Broke至少有一个Queue.
在producer端发送消息的时候是需要指定 Topic, 然后按照某种策略发送到Queue, 一般一个Topic有默认4个Queue,然后就散落在broke上(假如有多个broke)。
3:消费的时候,consumer直接订阅的是queue,假如有4个queue,2个consumer它们会平分。然后去Queue所在的broke去消费。
是如何做持久化的?
Commitlog
rebalace是如何实现的?
通过nameserver,尽量做到平均。
获取编辑器中HTML内容 复制代码 代码如下: function getEditorHTMLContents(Edit...
基于 Chromium 的 Edge 浏览器近日新增了启动增强(Startup Boost)功能,微软声称...
本文转载自微信公众号「DBA闲思杂想录」,作者潇湘隐者。转载本文请联系DBA闲思...
java 中Spring task定时任务的深入理解 在工作中有用到spring task作为定时任务...
需求: 根据业务要求,需要能够上传图片,且上传的图片能在移动端中占满屏幕宽度...
收集在业务中经常使用的正则表达式实例,方便以后进行查找,减少工作量。 1. 校...
前端HTML !DOCTYPE html{% load static %}{% get_static_prefix as getstatic %}...
文章目录 前言 scanf和printf函数 fscanf和fprintf函数 sscanf和sprintf函数 总...
前言: 现在前后端基本都是通过ajax实现前后端接口数据的交互,但是,ajax有个小...
VSCode 运行插件,现在我们对这个插件的实现方式和注册方式已经有了了解,下面就...