![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式消息中间件MQ
程序猿S先森丶
这个作者很懒,什么都没留下…
展开
-
SpringBoot整合RabbitMQ Demo
引入pom <!--rabbitmq--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency>修改application.yml生产端配原创 2021-02-10 23:07:20 · 318 阅读 · 0 评论 -
MQ消费端——幂等性保障
什么是幂等性用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用我们可以借鉴数据库的乐观锁机制比如我们执行一条更新库存的SQL语句UPDATE T_REPS SET COUNT = COUNT -1,VERSION = VERSION +1 WHERE VERSION = 1唯一ID +指纹码 机制唯一ID + 指纹码机制,利用数据库主键去重SELECT COUNT(1) FROM T_ORDER WHERE ID = 唯一ID + 指纹码好处:实现原创 2021-02-10 22:08:35 · 201 阅读 · 0 评论 -
MQ消息如何保障100%的投递成功?
什么是生产端的可靠性投递?保障消息的成功发出保障MQ节点的成功接收发送端收到MQ节点(Brker)确认应答完善的消息进行补偿机制互联网大厂的解决方案:1.消息落库,对消息状态进行打标第一步,将业务、消息入库,如果第一步失败直接快速失败第二步,将消息发送出去第三步,将收到消息的应答(confirm)返回给生产端第四步,将消息状态从0->更新成1(表示发送成功)第五步,分布式定时任务获取消息状态为0的消息第六步,重新投递回到第二步第七步,如果重试次数大于3,那么将消息状态从原创 2021-02-09 20:03:33 · 733 阅读 · 0 评论 -
RabbitMQ简介
消息落库,对消息状态进行打标第一步,将消息或业务消息的延迟投递,做二次确认,回调检查原创 2021-02-09 19:36:53 · 147 阅读 · 1 评论 -
分布式消息中间件MQ认知
MQ的应用场景服务解耦削峰填谷(大促、秒杀等)异步化缓冲(最终一致性)MQ应用思考点生产端可靠性投递消费端幂等高可用低延迟可靠性(分片、副本)堆积能力拓展性RabbitMQ四种集群架构主备模式warren(兔子窝),一个主/备方案(主节点如果挂了,从节点提供服务,和ActiveMQ利用Zookeeper做主/备一样)HaProxy配置listen rebbitmq_clusterbind 0.0.0.0:5672 #配置TCP模式mode tcp #原创 2021-02-09 15:32:13 · 157 阅读 · 1 评论