`
m635674608
  • 浏览: 5027885 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

RocketMQ原理解析-consumer 1.启动

    博客分类:
  • MQ
 
阅读更多

有别于其他消息中间件由broker做负载均衡并主动向consumer投递消息,RocketMq是基于拉模式拉取消息,consumer做负载均衡并通过长轮询向broker拉消息。

 

 

 

Consumer消费拉取的消息的方式有两种

 

1.      Push方式:rocketmq已经提供了很全面的实现,consumer通过长轮询拉取消息后回调MessageListener接口实现完成消费,应用系统只要MessageListener完成业务逻辑即可

 

2.      Pull方式:完全由业务系统去控制,定时拉取消息,指定队列消费等等,当然这里需要业务系统去根据自己的业务需求去实现

 

 

 

下面介绍默认以push方式为主,因为绝大多数是由push消费方式来使用rocketmq的。

 

 

 

consumer启动流程

 

指定group

 

订阅topic

 

注册消息监听处理器,当消息到来时消费消息

 

消费端Start

 

         复制订阅关系

 

         初始化rebalance变量

 

         构建offsetStore消费进度存储对象

 

         启动消费消息服务

 

         向mqClientFactory注册本消费者

 

         启动client端远程通信

 

         启动定时任务

 

                   定时获取nameserver地址

 

                   定时从nameserver获取topic路由信息

 

                   定时清理下线的borker

 

                   定时向所有broker发送心跳信息,(包括订阅关系)

 

                   定时持久化Consumer消费进度(广播存储到本地,集群存储到Broker)

 

                   统计信息打点

 

                   动态调整消费线程池

 

         启动拉消息服务PullMessageService

 

         启动消费端负载均衡服务RebalanceService

 

         从namesrv更新topic路由信息

 

         向所有broker发送心跳信息,(包括订阅关系)

 

         唤醒Rebalance服务线程

 

http://blog.csdn.net/quhongwei_zhanqiu/article/details/39142653

 

分享到:
评论

相关推荐

    rocketmq-externals-master.zip

    通过分析这个源码,我们可以深入了解RocketMQ控制台的工作原理,并且可以根据自身需求进行定制化开发。 1. **RocketMQ控制台概述** RocketMQ控制台主要负责提供图形化的用户界面,帮助管理员监控RocketMQ集群的...

    一张图进阶 RocketMQ - 整体架构.doc

    本篇文章将深入解析 RocketMQ 的整体架构,并通过一个简单的消息收发示例来帮助理解其工作流程。 首先,我们要理解消息队列的基本概念。消息队列是一种存储和转发消息的数据结构,它在生产者和消费者之间起到缓冲和...

    基于spring-boot-starter-rocketmq源码.rar

    《深入解析Spring Boot Starter RocketMQ源码》 在现代企业级应用开发中,Spring Boot以其简洁、快速的特性,已经成为主流框架。同时,为了更好地整合各种消息中间件,Spring社区推出了Spring Boot Starter,使得...

    RocketMQ原理详解

    ### RocketMQ原理详解 #### 一、RocketMQ概述 RocketMQ是一款由阿里巴巴开源的消息中间件,主要用于异步处理、解耦、削峰等场景。它提供了高性能、高可靠性的消息服务,支持点对点消息、发布/订阅模式、事务消息等...

    消息中间件rocketmq原理解析

    以下将基于给定内容详细解析RocketMQ的原理解析。 ### RocketMQ概述 RocketMQ是由阿里巴巴开源的一款分布式消息中间件。它提供了分布式系统之间的异步消息通信能力,广泛应用于各种业务场景中,如订单处理、任务...

    阿里RocketMQ_用户指南_V3.2.4 & RocketMQ-原理简介

    在《RocketMQ-原理简介.pdf》中,可能会深入解析RocketMQ的工作原理: 1. **消息存储机制**:RocketMQ采用日志文件存储消息,通过CommitLog和IndexFile配合,实现高效的消息查询和检索。 2. **消息传输机制**:...

    消息中间件 rocketmq原理解析

    本文将从以下几个方面对RocketMQ的原理进行解析。 ### 一、Producer #### 1. Producer启动流程 Producer是消息的发送者,它的启动流程如下: - 在发送消息时,如果Producer集合中没有对应topic的信息,则会向...

    RocketMQ实战与原理

    测评程序开始消费时,会启动10~20个Consumer,每个Consumer属于一条线程,而且attach到一个queue上,并订阅多个Topic。对于被多个Consumer订阅的某个Topic,这些Consumer直接的消费应该是独立的,也就是每个Consumer...

    Rocketmq核心源码剖析-图灵杨过老师1

    在深入探讨RocketMQ核心源码之前,...通过对RocketMQ的CommitLog和ConsumeQueue的理解,以及NameServer和Broker架构的解析,我们可以更深入地掌握RocketMQ的工作原理,这对于优化系统性能和解决实际问题具有重要意义。

    RocketMQ原理分析.rar

    本压缩包“RocketMQ原理分析.rar”包含了对RocketMQ核心机制的深入解析,旨在帮助用户理解其工作原理。 RocketMQ的核心组件包括Producer、Consumer、NameServer和Broker四个部分: 1. **Producer**: 生产者是消息...

    RocketMQ实战与原理解析

    ### RocketMQ实战与原理解析 #### 一、RocketMQ简介 Apache RocketMQ是一个分布式消息中间件,由阿里巴巴捐赠并成为Apache顶级项目。RocketMQ具备高性能、低延迟、高可靠等特性,支持发布/订阅模式、消息过滤、...

    全面解剖RocketMQ和项目实战-day4-part2.7z

    【全面解剖RocketMQ与项目实战-day4-part2】是一个深入学习Apache RocketMQ的课程资料压缩包,包含多个视频教程,旨在帮助用户深入了解RocketMQ的工作原理及实际应用。RocketMQ是一个开源的消息中间件,广泛应用于...

    全面解剖RocketMQ和项目实战-day4-part4.7z

    在这个“全面解剖RocketMQ和项目实战-day4-part4.7z”资料包中,包含了一系列视频教程,详细讲解了RocketMQ的关键特性和工作流程,下面将对这些知识点进行深入解析。 1. **实时更新消息消费队列与索引文件流程说明*...

    consumer.start.pdf

    本文档主要针对 `consumer.start.pdf` 文件中的关键概念进行详细解析,帮助读者深入了解 RocketMQ 消费者(Consumer)的工作原理及其内部机制。 #### 二、关键组件及功能介绍 1. **DefaultMQPushConsumer**:这是 ...

    rocketmq 源码 rocketmq 源码 rocketmq 源码

    RocketMQ 的源码解析有助于开发者更好地掌握其实现机制,提升在实际项目中的应用能力。 1. **整体架构** RocketMQ 采用主从复制模型,主要包含四个核心组件:Producer、Consumer、NameServer 和 Broker。Producer ...

    RocketMQ技术讲解V2.0

    RocketMQ源码分析,分为存储篇、NameServer篇、Broker篇、Producer篇、Consumer篇五大部分进行源码级的讲解。大致如下: 1、讲解commitlog、consumequeue、index、transaction文件等数据结构、数据读写、HA高可用等...

    rocketmq的源码文件

    下面我们将逐一解析RocketMQ的关键组件和功能。 1. **NameServer**:NameServer是RocketMQ的核心组件之一,它负责维护Topic与Broker的映射关系,提供服务注册与发现的功能。开发者可以通过源码分析NameServer如何...

    Rocket MQ 用户指南 v3.0.4

    ### RocketMQ 用户指南 v3.0.4 关键知识点解析 #### 1. 前言 - **目标读者:** RocketMQ用户指南的目标读者包括应用开发者及系统运维人员。 - **主要内容:** 指南主要介绍了如何使用RocketMQ以及如何进行服务器集群...

    深入探索RocketMQ源码:透视消息中间件的内核机制

    通过对RocketMQ源码的逐层解析,我们可以理解其内部工作机制,包括NameServer的角色、Broker的启动与注册、Producer与Consumer的工作模式,以及消息存储和延迟处理的细节。这将有助于我们在实际开发中更好地利用...

    (2024)跳槽涨薪必备精选面试题.pdf

    1. **ThreadLocal的底层原理** - `ThreadLocal` 通过每个线程拥有独立的变量副本实现线程间的隔离。 - 主要用于解决线程安全问题。 2. **如何理解volatile关键字** - `volatile` 关键字确保了可见性和禁止指令...

Global site tag (gtag.js) - Google Analytics