mq技术
YHJ
你有找到为之奋不顾身的事吗?
展开
-
RocketMQ源码分析(四)Consumer
1.5 Consumer1.5.1 消息消费概述消息消费以组的模式开展,一个消费组内可以包含多个消费者,每一个消费者组可订阅多个主题,消费组之间有集群式和广播模式两种消费模式。集群模式,主题下的同一条消息只允许被其中一个消费者消费。广播模式,主题下的同一条消息,将被集群内的所有消费者消费一次。消息服务器与消费者之间的消息传递也有两种模式:推模式、拉模式。所谓的拉模式,是消费端主动拉起拉消息请求,而推模式是消息达到消息服务器后,推送给消息消费者。RocketMQ消息推模式的实现基于拉模式,在拉模式上包转载 2021-05-24 22:45:07 · 1060 阅读 · 0 评论 -
RocketMQ源码分析(三)消息存储
1.4 消息存储1.4.1 消息存储核心类private final MessageStoreConfig messageStoreConfig; //消息配置属性private final CommitLog commitLog; //CommitLog文件存储的实现类private final ConcurrentMap<String/* topic */, ConcurrentMap<Integer/* queueId */, ConsumeQueue>>转载 2021-05-24 22:44:14 · 425 阅读 · 0 评论 -
RocketMQ源码分析(二)Producer
1.3 Producer消息生产者的代码都在client模块中,相对于RocketMQ来讲,消息生产者就是客户端,也是消息的提供者。1.3.1 方法和属性1)主要方法介绍 //创建主题void createTopic(final String key, final String newTopic, final int queueNum) throws MQClientException; 1 2 //根据时间戳从队列中查找消息偏移量long searchOffs转载 2021-05-24 22:43:19 · 335 阅读 · 0 评论 -
RocketMQ源码分析(一)NameServer
1. 源码分析1.1 环境搭建1.1.1 源码拉取源码目录结构: broker: broker 模块(broke 启动进程) client :消息客户端,包含消息生产者、消息消费者相关类 common :公共包 dev :开发者信息(非源代码) distribution :部署实例文件夹(非源代码) example: RocketMQ 例代码 filter :消息过滤相关基础类 filtersrv:消息过滤服务器实现相关转载 2021-05-24 22:41:22 · 173 阅读 · 0 评论 -
RocketMQ的消息存储、高可用性机制、负载均衡、消息重试、死信队列、消费幂等
1. 高级功能1.1 消息存储分布式队列因为有高可靠性的要求,所以数据要进行持久化存储。消息生成者发送消息 MQ收到消息,将消息进行持久化,在存储中新增一条记录 返回ACK给生产者 MQ push 消息给对应的消费者,然后等待消费者返回ACK 如果消息消费者在指定时间内成功返回ack,那么MQ认为消息消费成功,在存储中删除消息,即执行第6步;如果MQ在指定时间内没有收到ACK,则认为消息消费失败,会尝试重新push消息,重复执行4、5、6步骤 MQ删除消息1.1.1 存储介质关系转载 2021-05-24 22:39:27 · 974 阅读 · 0 评论 -
RocketMQ+SpringBoot+Dubbo+Zookeeper的下单支付场景实战
1. 案例介绍1.1 业务分析模拟电商网站购物场景中的【下单】和【支付】业务1)下单用户请求订单系统下单 订单系统通过RPC调用订单服务下单 订单服务调用优惠券服务,扣减优惠券 订单服务调用调用库存服务,校验并扣减库存 订单服务调用用户服务,扣减用户余额 订单服务完成确认订单2)支付用户请求支付系统 支付系统调用第三方支付平台API进行发起支付流程 用户通过第三方支付平台支付成功后,第三方支付平台回调通知支付系统 支付系统调用订单服务修改订单状态 支付系统调用积分转载 2021-05-24 22:36:38 · 1071 阅读 · 2 评论 -
SpringBoot整合RocketMQ
下载rocketmq-spring项目将rocketmq-spring安装到本地仓库mvn install -Dmaven.skip.test=true消息生产者1)添加依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <versio...转载 2021-05-23 17:55:43 · 710 阅读 · 0 评论 -
RocketMQ的消息发送样例
导入MQ客户端依赖 <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.4.0</version></dependency> 消息发送者步骤分析r 1.创建消息生产者producer,并制定生产者组名2....转载 2021-05-23 13:13:32 · 508 阅读 · 0 评论 -
RocketMQ集群监控平台搭建
1 概述RocketMQ有一个对其扩展的开源项目incubator-rocketmq-externals,这个项目中有一个子模块叫rocketmq-console,这个便是管理控制台项目了,先将incubator-rocketmq-externals拉到本地,因为我们需要自己对rocketmq-console进行编译打包运行。2 下载并编译打包git clone https://github.com/apache/rocketmq-externalscd rocketmq-console转载 2021-05-23 13:10:28 · 413 阅读 · 0 评论 -
RocketMQ双主双从集群搭建
1 各角色介绍Producer:消息的发送者;举例:发信者 Consumer:消息接收者;举例:收信者 Broker:暂存和传输消息;举例:邮局 NameServer:管理Broker;举例:各个邮局的管理机构 Topic:区分消息的种类;一个发送者可以发送消息给一个或者多个Topic;一个消息的接收者可以订阅一个或者多个Topic消息 Message Queue:相当于是Topic的分区;用于并行发送和接收消息2 集群搭建方式2.1 集群特点 NameServer是一个几乎无转载 2021-05-23 12:55:08 · 1895 阅读 · 1 评论 -
linux安装RocketMQ(单体)
安装有两种安装包:二进制安装包和源码安装包【需手动安装】以二进制包方式安装RocketMQ是阿里巴巴2016年MQ中间件,使用Java语言开发,在阿里内部,RocketMQ承接了例如“双11”等高并发场景的消息流转,能够处理万亿级别的消息。下载RocketMQRocketMQ最新版本:4.5.1下载地址环境要求 Linux64位系统 JDK1.8(64位) 源码安装需要安装Maven 3.2.x 安装步骤本教程以二进制包方...转载 2021-05-22 19:55:14 · 298 阅读 · 0 评论