rocket MQ源码page-生产者获取主题路由信息DefaultmqProductempl # trytofindtopic发布信息MQ client # updateTopicRouteInfoFromNameServerMQClientAPIImpl # getTopicRouteInfoFromNameServerNettyRemotingClient # invokeSyncDefaultRequestProcessor # processRequestDefaultRequestProcessor # getRouteInfoByTopic。
【rocketmq源码分析,Rocketmq从源码理解】
1、RocketMQ系列(七让我先问几个问题 。rocketMq的主从不是传统意义上的主从 。他没有主从切换,就是永远成不了主 。当主节点宕机时,它从不接管消息发送和消息存储,而只提供消息读取 。换句话说 , 生产者不能发送消息,而消费者可以继续接收队列中未使用的消息 。所有发送信息的请求都由主处理 。接收到请求后,主机将其存储在自己的commitLog中,然后等待从机的偏移量来拉客户端消息,无论是从主机还是从机拉,都取决于源码1和这次拉的数据量 。
40除以100是总内存大小的0.4倍 。因此 , 内存的价值是物理内存的40% 。3.如果这次提取的数据量大于物理内存的40% 。那么下次你从奴隶那里拉出来的时候 。以防师父搞不定 。也就是说,只有1 。主人挂了 。2.这次拉的数据量超过了物理内存的40% 。在这两种情况下,都将使用slave 。其余的时间 , 奴才就在那里等着 。如果师父出事了,他会一直等到出事 。
2、三、RocketMQ几个重要的概念 Resources: NameServer:类似于kafka中的zookeeper,主要用于协调和心跳Broker:接收和分发消息的核心组件,也是RocketMQ的核心MessageModel:消息消费模式 。集群有两种:MQ认为任何消息只要被集群中的一个消费者消费就可以广播;MQ会推送给所有注册的消费者 。详细消息类型:普通消息:怎么发就怎么发 , 怎么收就怎么收,反正没有顺序交易消息:经典2PC提交顺序消息:怎么发就怎么收 , 顺序消息延时消息:比如我们的订单15分钟没有操作就会自动平仓 。我觉得延迟消息可以是Producer:Producer group:Producer group,主要作用是标识一类生产者 。而且 , 在交易型消息中,当一个生产者倒下时,群内其他生产者可以推送消息:消息体还得说,我看过阿里的 。
3、RocketMQ事务机制的底层实现原理解析我们之前都说了分析我们在给MQ发送消息的时候,会先创建一个主题,假设这个主题叫做OrderPaySuccessTopic,然后把消息发送到这个主题 , 再通过MQ的内部流程,流入一个broker的MessageQueue 。然后将完整的数据信息写入commitLog , 并将偏移信息写入ConsumeQueue 。然后消费者订阅该主题,并可以消费该消息 。但是当我们发送这一半信息时,为什么消费者不能消费它呢?其中一个本质原因是,一旦RocketMQ发现你在发送半消息,它不会将半消息的偏移量写入OrderPaySuccesstopic中的ConsumeQueue,而是将半消息写入其自身内部与主题“RMQ _系统_传输_半主题”对应的ConsumeQueue 。
推荐阅读
- mtrace文件分析
- glass数据集分析,适合做回归分析的数据集
- matlab散点图分析,散点图怎么分析结果
- 最小重量 分支限界 分析
- 区间回归分析,双色球区间比分析
- 新浪微博 登录 分析
- 健腹轮需要安全绳吗
- 健腹轮需要带护腰吗
- 如何查看我在京东开通的服务器? 京东怎么看我开通的服务器