RocketMQ
张申傲
LangChain/Nacos/MyBatis 核心Contributor
展开
-
RocketMQ详解(4)——入门程序
RocketMQ详解(4)——入门程序本节演示使用SpringBoot整合RocketMQ的入门程序,包括消息的生产端和消费端两个工程。开发环境:JDK1.8、IntelliJ IDEA、Maven3.5.3、SpringBoot2.0.3、RocketMQ 4.3.0首先,引入RocketMQ的客户端依赖:<parent> <groupId>o...原创 2018-09-07 23:13:00 · 998 阅读 · 0 评论 -
RocketMQ设计思路
RocketMQ设计思路一. 概述RocketMQ作为一款高性能消息中间件,其核心优势是可靠的消息存储、消息发送的高性能与低延迟、强大的消息堆积能力与消息处理能力、严格的顺序消息模式等。RocketMQ的另一个核心思想是懂得取舍。软件设计不可能做到面面俱到,消息中间件的理想状态是一条消息能且只能被消费一次,但要做到这一点,必然需要牺牲性能。RocketMQ的设计者解决这一难题的办法是不去解决,...原创 2019-02-24 10:24:22 · 1278 阅读 · 0 评论 -
RocketMQ源码组织结构
RocketMQ源码组织结构RocketMQ源码组织结构:broker:Broker模块(Broker启动进程);client:消息客户端,包含消息生产者、消息消费者相关类;common:公共组件;Dev:开发中信息(非源代码);distribution:部署实例文件夹(非源代码);example:RocketMQ实例代码;filter:消息过滤相关基础类;logappende...原创 2019-01-12 08:24:30 · 294 阅读 · 0 评论 -
RocketMQ详解(10)——Consumer详解
RocketMQ详解(10)——消费模式详解一. 不同类型的消费者根据使用者对读取操作的控制情况,消费在可以分为两种类型:DefaultMQPushConsumer:有系统控制读取操作,收到消息后自动调用监听器回调处理。DefaultMQPullConsumer:读取操作中的大部分功能由使用者自主控制。二. DefaultMQPushConsumer的使用使用D...原创 2018-09-15 12:01:03 · 10738 阅读 · 0 评论 -
RocketMQ详解(6)——Producer详解
RocketMQ详解(6)——Producer详解一. Producer的特性消息过滤对于Producer,可以对单个主题发送消息,也可以对多个主题发送消息,这种设计非常灵活。而且,可以通过Tag定义一些简单的过滤,通常已经可以满足我们90%的需求了。对于一些更复杂的过滤场景,可以使用Filter实现。Producer的模式RocketMQ提供了三种不同模式的Produce...原创 2018-09-11 09:59:34 · 1066 阅读 · 0 评论 -
RocketMQ详解(9)——Consumer简介
RocketMQ详解(9)——Consumer简介一. RocketMQ的消费模式在RocketMQ中,Consumer分为2类:MQPullConsumer和MQPushConsumer。其本质都是pull模式,即Consumer轮询从Broker拉取消息。在push方式中,Consumer把轮询的过程封装了。当应用注册MessageListener后,Broker接收到消息时,...原创 2018-09-13 22:35:43 · 961 阅读 · 0 评论 -
RocketMQ详解(13)——RocketMQ的消息模式
RocketMQ详解(13)——RocketMQ的消息模式一. RocketMQ的消息模式在RocketMQ中,可以理解为没有ActiveMQ的createQueue()和createTopic()的用法,也就是并没有P2P和Pub/Sub类似的概念。RocketMQ不遵循JMS规范,而是使用了一套自定义的机制。可以理解为RocketMQ都是基于Pub/Sub发布订阅模式的,在此基础上提供...原创 2018-09-18 11:15:03 · 4593 阅读 · 0 评论 -
RocketMQ详解(12)——RocketMQ的重试机制
RocketMQ详解(12)——RocketMQ的重试机制一. MQ的重试机制由于MQ经常处于复杂的分布式系统中,考虑网络波动、服务宕机、程序异常因素,很有可能出现消息发送或者消费失败的问题。因此,消息的重试就是所有MQ中间件必须考虑到的一个关键点。如果没有消息重试,就可能产生消息丢失的问题,可能对系统产生很大的影响。所以,秉承宁可多发消息,也不可丢失消息的原则,大部分MQ都对消息重试...原创 2018-09-17 18:19:01 · 30033 阅读 · 3 评论 -
RocketMQ详解(7)——顺序消费
RocketMQ详解(7)——顺序消费一. 顺序消费原理消息的有序性是指消息的消费顺序能够严格保存与消息的发送顺序一致。例如,一个订单产生了3条消息,分别是订单创建、订单付款和订单完成。在消息消费时,同一条订单要严格按照这个顺序进行消费,否则业务会发生混乱。同时,不同订单之间的消息又是可以并发消费的,比如可以先执行第三个订单的付款,再执行第二个订单的创建。RocketMQ采用了局部...原创 2018-09-12 17:12:34 · 13239 阅读 · 0 评论 -
RocketMQ详解(3)——RocketMQ集群模型与搭建
RocketMQ详解(3)——RocketMQ集群模型与搭建一. RocketMQ集群模型RocketMQ天然支持分布式集群模型,其中主节点可读可写,从节点只可读,不可写,类似MySQL的主从模式。RocketMQ主要支持以下几种集群模型:单机模式(M) 这种方式风险较大,一旦Broker重启或者宕机时,会导致整个消息服务不可用,不建议在生产环境中使用。双Master模式/...原创 2018-09-06 10:47:02 · 1021 阅读 · 0 评论 -
RocketMQ详解(5)——整体架构
RocketMQ详解(5)——整体架构一. 部署架构概述RocketMQ是一个分布式开放消息中间件,底层基于队列模型来实现消息收发功能。RocketMQ集群中包含4个模块:Namesrv、Broker、Producer和Consumer。Namesrv: 存储当前集群所有Broker信息,以及Topic跟Broker的对应关系。Broker: 集群最核心模块,主要负责Top...原创 2018-09-09 16:57:56 · 1639 阅读 · 1 评论 -
RocketMQ详解(2)——RocketMQ核心概念
RocketMQ详解(2)——RocketMQ核心概念一. RocketMQ专业术语Producer消息生产者,负责产生消息,一般由业务系统负责产生消息。Consumer消息消费者,负责消费消息,一般由后台系统负责异步消费。Push ConsumerConsumer的一种,通常是应用向Consumer注册一个Listener接口,一旦Consumer收到消息,立刻回调...原创 2018-09-05 23:21:58 · 1058 阅读 · 0 评论 -
RocketMQ详解(1)——RocketMQ简介与环境搭建
RocketMQ详解(1)——RocketMQ简介与环境搭建一. RocketMQ简介RocketMQ是一款分布式的、队列模型的消息中间件,由Alibaba研发,借鉴参考了JMS规范的MQ实现,更参考了优秀的开源消息中间件Kafka,并且结合Alibaba实际的业务需求,在天猫双十一场景实现了业务削峰、分布式事务等功能的优秀框架。目前(截止2018.9.5)开源稳定版本为4.2.0,...原创 2018-09-05 21:53:07 · 1031 阅读 · 0 评论 -
详解RocketMQ事务消息
详解RocketMQ顺序消息顺序消息是RocketMQ提供的非常重要的一个特性,在4.x版本之后开源,可以利用事务消息轻松地实现分布式事务。本文对RocketMQ的事务消息进行详细介绍,并给出了代码示例。一. 相关概念RocketMQ在其消息定义的基础上,对事务消息扩展了两个相关的概念:Half(Prepare) Message——半消息(预处理消息)半消息是一种特殊的消息类型,该状...原创 2019-03-27 17:54:07 · 7843 阅读 · 1 评论