【MQ】
Message Queue,消息队列,解耦,异步,削峰问题,实现高性能,高可用,可伸缩,最终一致性架构。
种下星星的日子
用代码书写人生,尽在我的CSDN,欢迎大家访问!
展开
-
RocketMQ内部知识体系
RocketMQ,阿里开源,社区活跃度高,现在很多企业都在用,我们今天来聊一下它的内部机制,以帮助我们更灵活的使用MQ。 RocketMQ内部结构: Name Server:命名服务,可以理解为消息队列的协调服务,broker向它注册路由信息,client从它获取路由信息,类似zk,broker和每个nameserver建立长连接。 Broker:mq的核心,提供消息的接收、存储和拉取等...原创 2020-03-31 21:25:22 · 426 阅读 · 2 评论 -
如何保证消息顺序性?
场景: 在一个订单场景中,本来我们期望的是订单生成,订单支付,订单完成这样一个流程下来,但是消费者一般部署集群,多个消费者消费一个队列queue,很可能订单支付在订单完成前执行,这样肯定是不行的。 那么如何解决一个队列多消费者的问题呢? 对于RabbitMQ或kafka而言,我们可以多搞几个队列,每个队列对应一个消费者,这样我们生产端通过一个业务id比如订单id,同样的订单id的消息发到同一个队...原创 2020-03-31 12:15:33 · 414 阅读 · 0 评论 -
MQ作用与主流MQ对比
为什么用MQ? 解耦异步:系统间接口调用,耦合性高,一旦某个系统出问题,整个流程报错,引入mq,可以将消息发给mq就可以了,如果库存挂了,重启后再去消费就行了。 削峰:减轻数据库压力 数据分发: 用mq考虑问题? 1.可用性降低:mq宕机,影响业务 2.复杂性提高:同步消息如何保证幂等性?消息丢失问题如何处理?如何保证消息顺序性? 3.一致性问题:A处理完后,BCD都去处理,如果D处理失败,...原创 2020-03-30 17:29:40 · 328 阅读 · 0 评论 -
RabbitMQ内部知识体系
RabbitMQ相关总结见我的语雀: https://www.yuque.com/zhongxiaxingxingderizi/lksyp9/tq1dgd 欢迎访问~原创 2020-03-30 17:25:30 · 344 阅读 · 0 评论