
RocketMq
文章平均质量分 91
RocketMq
先熬半个月
这个作者很懒,什么都没留下…
展开
-
RocketMQ(六)高级特性及原理
一、消息幂等性问题保证消息幂等性就是保证多次相同的请求时,消费者只执行这些相同请求中的一个aa原创 2021-06-16 15:47:38 · 1083 阅读 · 0 评论 -
RocketMQ(五)原理及高级特性
一、RocketMQ基于Netty的高性能网络通信框架1、Reactor主线程与长短连接首先Broker会有一个Reactor主线程,这个线程负责监听一个网络端口的。如果Producer想跟Broker建立一个TCP长连接,此时Broker上的Reactor主线程会在这个端口上监听到这个Producer建立连接的请求。然后Broker和Producer两者中都有一个SocketChannel用来建立他们的长连接。然后Producer就会通过这个SocketChannel通道来发送消息。原创 2021-06-08 10:05:10 · 608 阅读 · 2 评论 -
RocketMq(四)运行原理
前面已经对于目前订单系统的问题使用mq解决了四个问题:此时还要两个问题要进行解决,不过在解决之前我们先来看看rocketmq的一些运行原理结构一、生成者如何发送消息的1、消息在broker是怎么存储的首先需要明白MessageQueue,一个类型的topic内可以有多个MessageQueue,也就是队列用来存放消息的。可以在建立topic的时候指定MessageQueue的数量。假如我们现在有一个topic,然后为他指定了4个MessageQueue,此时来看看在broker.原创 2021-05-24 17:09:41 · 715 阅读 · 1 评论 -
RocketMq(三)改造订单系统
一、看看现在订单系统中存在的问题下面会针对这些问题利用MQ进行解决思路的分析。一、解决下单核心流程环节太多性能差的问题我们先来看支付订单的核心流程:从图中我们可以看到每次支付完成一个订单后,都需要执行一系列的动作,包括:这个核心链路的执行时间过长,可能长达好几秒。这时我们使用MQ集群来解决这些问题在上面中,我们仅仅保留了同步执行更新订单状态和扣减库存两个关键的操作(因为你一旦支付成功,就要保证订单状态变为“已支付”,且将库存扣减掉,这样才能保证核心的数据不错乱。而积分这原创 2021-05-24 10:45:15 · 1230 阅读 · 2 评论 -
RocketMq(二)组成与压测
一、MQ结构和高可用一、MQ如何集群化部署来支撑高并发访问RocketMq号称是可以抗住10万+并发访问。假设此时有10万QPS+千万条消息的访问进来,如果单机的mq来抗,此时其压力是非常大的。而如果我们利用了集群的方式部署,此时就能将10万的并发分散到各个机器上(例如10个),此时每个机器1万并发抗住搓搓有余。除了请求外,此时每个机器节点还要存储百万条数据到磁盘中(rocketmq是分布式存储,分散到各个节点存储,每个节点又有主从保证数据不丢失)。二、MQ的基本组成在rocket原创 2021-05-14 15:17:44 · 1311 阅读 · 0 评论 -
RocketMq(一)订单场景铺设
该系列参考狸猫技术窝的《》该专栏以订单模块为驱动,对该模块面临的问题用RocketMQ来解决一、业务背景如下图所示,订单系统在用户下单后需要创建订单,且在订单支付成功回调后,会分别调用优惠卷、红包、积分、第三方物流系统、大数据系统等服务。而在这个过程中就存在大量的问题.如上图所示,一个简单的订单就需要经历上面的8个步骤(其实还不止。例如扣减库存、更新订单状态、更新积分、发优惠卷、发红包、发送Push推送、通知仓储系统发货等等一系列活),而这么多的步骤造成的之间影响就是响应时.原创 2021-05-14 11:11:18 · 917 阅读 · 0 评论