![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
RocketMQ
文章平均质量分 58
wenniuwuren
Winter is coming
展开
-
RocketMQ 源码阅读 -- 环境搭建
一、 NameServer 和 Broker 启动根据官网的 quik start 指引,我们可以看到在 distribution/bin 目录下的 mqnamesrv 和 mqbroker 是启动的关键。例如 mqnamesrv #!/bin/sh # Licensed to the Apache Software Foundation (ASF) under one or more # c...原创 2018-07-02 15:44:26 · 682 阅读 · 0 评论 -
RocketMQ 源码阅读 ---- 延时消息
一、概念解析 定时消息:在某个时间点投递消息,比如 2018-07-09 00:00:00 投递消息 延时消息:在过了多少时间后,投递消息,比如 10 秒后投递消息(开源版本的 RocketMQ 只提供固定几个时间点的延时消息) 二、测试用例 package org.apache.rocketmq.example.quickstart; import org.apache.roc...原创 2018-08-24 17:41:29 · 1119 阅读 · 1 评论 -
RocketMQ 源码阅读 ---- 顺序消息
一、概述 顺序消息的大致原理是发送的时候,比如同一个订单 id 的发送到同一个 queueId 中,如下单、支付、扣库存这个流程需要保证同一个订单 id 消息有序才能正常执行。 在消费的时候,也只能有一个 consumer 并且单线程从这个 queue 中消费,这样才能保证消息消费顺序。 二、源码解析 在顺序消息的 produer 中,需要有一个选择队列的算法,来确定某个规则下的消息...原创 2018-09-04 21:44:35 · 767 阅读 · 0 评论 -
MQ 重试队列注意事项
不要过度依赖消息队列的重试来保证最终消费成功 举个例子,我们的消费消息队列的应用A依赖于应用B的某个接口,但是双十一流量太大,应用B的接口QPS不足,导致RPC超时返回(即本条消息消费失败),此条消息会进入重试队列。 进入重试队列不是万能的 问题一:RocketMQ重试16次还是不成功就会认为消息消费不了,丢进死信队列 问题二:RocketMQ重试队列数量少,可能100个正常的queue才1...原创 2019-07-23 18:05:27 · 1632 阅读 · 0 评论