RocketMQ修仙之路
王鹏鹏鹏
这个作者很懒,什么都没留下…
展开
-
RocketMQ安装与入门介绍
1. MQ介绍1.1 为什么要用MQ消息队列是一种“先进先出”的数据结构其应用场景主要包含以下3个方面应用解耦系统的耦合性越高,容错性就越低。以电商应用为例,用户创建订单后,如果耦合调用库存系统、物流系统、支付系统,任何一个子系统出了故障或者因为升级等原因暂时不可用,都会造成下单操作异常,影响用户使用体验。使用消息队列解耦合,系统的耦合性就会提高了。比如物流系统发生故障,需要几分钟才能来修复,在这段时间内,物流系统要处理的数据被缓存到消息队列中,用户的下单操作正常完成。当物流系统回复后,原创 2020-06-29 18:03:02 · 364 阅读 · 0 评论 -
RocketMQ Java消息发送样例(基本消息,顺序消息,延时消息,批量消息,过滤消息,事务消息)
消息发送样例导入MQ客户端依赖<dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.4.0</version></dependency>消息发送者步骤分析r1.创建消息生产者producer,并制定生产者组名2.指定原创 2020-06-29 18:02:08 · 788 阅读 · 0 评论 -
RocketMQ业务场景实战(电商购物场景中的【下单】和【支付】业务)
1. 案例介绍1.1 业务分析模拟电商网站购物场景中的【下单】和【支付】业务1)下单用户请求订单系统下单订单系统通过RPC调用订单服务下单订单服务调用优惠券服务,扣减优惠券订单服务调用调用库存服务,校验并扣减库存订单服务调用用户服务,扣减用户余额订单服务完成确认订单2)支付用户请求支付系统支付系统调用第三方支付平台API进行发起支付流程用户通过第三方支付平台支付成功后,第三方支付平台回调通知支付系统支付系统调用订单服务修改订单状态支付系统调用积分服务添加积分支付系原创 2020-06-29 18:01:19 · 3339 阅读 · 2 评论 -
RocketMQ高级功能与源码分析
1. 高级功能1.1 消息存储分布式队列因为有高可靠性的要求,所以数据要进行持久化存储。消息生成者发送消息MQ收到消息,将消息进行持久化,在存储中新增一条记录返回ACK给生产者MQ push 消息给对应的消费者,然后等待消费者返回ACK如果消息消费者在指定时间内成功返回ack,那么MQ认为消息消费成功,在存储中删除消息,即执行第6步;如果MQ在指定时间内没有收到ACK,则认为消息消费失败,会尝试重新push消息,重复执行4、5、6步骤MQ删除消息1.1.1 存储介质关系型数据库D原创 2020-06-29 18:00:28 · 605 阅读 · 1 评论