關於rocketmq不能消費的問題
專案使用了訊息中介軟體rocketmq,用於兩個關聯專案之間的通訊,
先前消費者一直是可以消費的,突然有一天消費者消費不到資料了,
解決過程mark一下,
1,懷疑是不是生產者出問題了,沒有生產資料。
和生產者那邊聯絡了一下,那邊回覆說一直有生產資料的,排除
2,懷疑是不是什麼配置有問題,導致不能消費。
仔細檢查了下,消費者組、topic、tag、地址、埠和生產者那邊溝通了一下,發現這些東西也都沒問題。排除
3,沒辦法,找管理要了生產環境的rocketmq的控制檯看了下。
檢視消費詳情的時候發現了問題,訊息都被另外一個伺服器上的消費者消費了(有三個平臺釋出的是相同的程式碼,但不是叢集的)。當時就感到有點懵,因為為了防止訊息被其他伺服器上的消費者消費,我特意作了判斷,讓其他伺服器上的消費者訂閱其他的消費者組,沒想到即使訂閱了其他的消費者組,因為topic和tag沒變,它還是能消費生產者生產的資料。所以只能最後加一個環境變數將其他伺服器上的消費者關閉了。
相關推薦
rocketmq消費模式機制
1. RocketMQ 支援兩種訊息模式: Clustering 和Broadcasting 從程式碼可以看出: 2. CLUSTERING 同組裡的每個Consumer 只消費所訂閱訊息的一部分內容。 3. BROADCASTING 同組裡的每個Consum
RocketMQ消費批拉超過32不生效
說明 由於一些原因,我需要RocketMQ消費的時候,一批拉400條,一批處理400條。設定如下: 為了簡單驗證是否正確,消費如下: 直接通過列印msgs.size()觀察情況即可。 現象 實驗的topic裡面的訊息數量很多很多,但是啟動消費端,消費端的日
RocketMQ 消費端
原文地址:http://adamswanglin.com/rocketmq/rocketmq-consumer/關於rocketmq-client包RocketMQ將producer,consumer和admin相關程式碼都放到rocketmq-client jar包裡;Ro
RocketMQ-quickstart(批量消費)
shu when 多重 代碼 color 最大 except 亂序 throws 一、專業術語 Producer 消費生產者,負責產生消息,一般由業務系統負責產生消息 Consumer 消息消費者,負責消費消息,一般是後臺系統負責異步消費
RocketMQ部分數據消費不了問題排查
慢慢 ID 均衡 結果 校驗 實例 .com top 一次 問題現象 今天忽然收到RocketMQ預警信息如下: 提醒有部分數據沒有消費,產生堆積情況。 打開RocketMq-Console-Ng查看如下圖形式: 備註:第一反應是Consumer Group內訂閱了
RocketMQ專題2:三種常用生產消費方式(順序、廣播、定時)以及順序消費源碼探究
channel quest 再次 指定 conf 默認 廣播 body tag 順序、廣播、定時任務 前插 ? 在進行常用的三種消息類型例子展示的時候,我們先來說一說RocketMQ的幾個重要概念: PullConsumer與PushConsumer:主要區別在於Pul
RocketMq獲取消費資訊
這幾天專案需要檢視mq的消費情況,阿里開源的mq-console介面挺好的,但是裡面許可權太大了,所以就琢磨著自己開發介面獲取mq消費資訊。話不多說,貼出程式碼 long timeout = 1000 * 3; String t
RocketMQ專題2:三種常用生產消費方式(順序、廣播、定時)以及順序消費原始碼探究
順序、廣播、定時任務 前插 在進行常用的三種訊息型別例子展示的時候,我們先來說一說RocketMQ的幾個重要概念: PullConsumer與PushConsumer:主要區別在於Pull與Push的區別。對於PullConsumer,消費者會主動從broker中拉取訊息進行消費。而對於PushCon
RocketMQ的順序消費和事務消費
一、三種消費 :1.普通消費 2. 順序消費 3.事務消費 1.1 順序消費:在網購的時候,我們需要下單,那麼下單需要假如有三個順序,第一、建立訂單 ,第二:訂單付款,第三:訂單完成。也就是這個三個環節要有順序,這個訂單才有意義。RocketMQ可以保證順序消費,他的實現
細談RocketMQ的消費模式
首先明確一點,RocketMQ 是基於釋出訂閱模型的訊息中介軟體。所謂的釋出訂閱就是說,consumer 訂閱了 broker 上的某個 topic,當 producer 釋出訊息到 broker 上的該 topic 時,consumer 就能收到該條訊息。 之前我們講過 consumer gr
RocketMQ探祕——客戶端消費
一、客戶端元件總覽 每個客戶端有一個管理者(MQClientManager),是單例,負責生產MQInstance物件,MQClientManager通過id將多個MQInstance物件放在一個列表中。MQClientManager的id命名規範是
RocketMQ 訊息消費
訊息消費 難點:如何保證訊息只消費一次? 消費模式: 1、單一消費模式:一條訊息,僅被一個消費者進行消費。 如何進行負載?負載演算法有 a、平均分配。b、平均輪詢分配。c、一致性hash(不推薦)。d、根據配置,為消費者指定訊息佇列。e、根據broker進行分配,消費者固定
rocketmq 順序消費理解
要實現佇列的順序消費,比如(1)下單(2)支付(3)支付 預設的傳送會隨機指定一個佇列, SendResult result = producer.send(msg); public MessageQueue selectOneMessageQueue(final T
RocketMQ叢集消費的那些事
說明 RocketMQ叢集消費的時候,我們經常看到類似註釋裡面 (1,(2 的寫法,已經有時候有同學沒注意拋異常的情況就是(3 模擬的情況。那麼這3種情況到底是怎麼樣的呢?你是否都瞭然於心呢?下面我們一起來看看吧,本文主要在講解RocketMQ叢集消費有些內容會提到但是不會深入講解(以後有機會講其他的)
RocketMQ原理學習--消費者消費訊息
在之前的一篇部落格《RocketMQ原理學習--訊息型別》中我們有介紹過RocketMQ的訊息型別,這篇部落格我們簡單介紹一下RocketMQ消費者是如何消費訊息的。 一、Pull or Push &nb
RocketMQ廣播消費與叢集消費
之前的部落格只是為了驗證rmq安裝是否成功,以及生產消費訊息能否正常走通,如果是多個消費端消費生產者傳送的訊息會有什麼樣的效果?這個可以用程式碼校驗一下,還是先了解兩個比較常用的消費端的術語: 1.叢集消費方式 一個ConsumerGroup中的Consum
分散式訊息佇列RocketMQ&Kafka -- 訊息的“順序消費”-- 一個看似簡單的複雜問題
在說到訊息中介軟體的時候,我們通常都會談到一個特性:訊息的順序消費問題。這個問題看起來很簡單:Producer傳送訊息1, 2, 3。。。 Consumer按1, 2, 3。。。順序消費。 但實際情況卻是:無論RocketMQ,還是Kafka,預設都不保證訊息
RocketMQ批量消費、訊息重試、消費模式、刷盤方式
一、Consumer 批量消費可以通過consumer.setConsumeMessageBatchMaxSize(10);//每次拉取10條這裡需要分為2種情況1、Consumer端先啟動 2、Consumer端後啟動. 正常情況下:應該是Consumer需要先啟動1
RocketMQ訊息重複消費的問題
重複消費的問題的一個可能的問題:消費者消費訊息時產生了異常,並沒有返回CONSUME_SUCCESS標誌。 我急於尋找解決方法,結果百度的結果都是一期多個消費者問題云云,根本沒有解決我的問題。 我發
RocketMQ原理(4)——訊息ACK機制及消費進度管理
https://zhuanlan.zhihu.com/p/25265380 consumer的每個例項是靠佇列分配來決定如何消費訊息的。那麼消費進度具體是如何管理的,又是如何保證訊息成功消費的(RocketMQ有保證訊息肯定消費成功的特性(失敗則重試)? 本文將詳細解