原文:消息队列如何保证幂等性?

面试官心理剖析: 主要是看你对消息队列数据重复消费的问题,是否有了解,是否知道怎么解决 如果这块不知道,那么面试官会觉得如果交给你做功能,可能会出现多次消费的情况。 回答: 为什么会出现重复消费 分析: 如图,在什么场景会出现消息重复消费 比如说消费端已经消费了 offset ,offset ,offset 的三条数据,正准备把这个 offset 的值传给 kafka,这时候消费端机器宕机了,这个 ...

2019-03-27 11:35 0 4307 推荐指数:

查看详情

如何保证消息队列

比如你拿个数据要写库,你先根据主键查一下,如果这数据都有了,你就别插入了,update 一下好吧。(高并发会有问题) 比如你是写 Redis,那没问题了,反正每次都是 set,天然。 比如你不是上面两个场景,那做的稍微复杂一点,你需要让生产者发送每条数据的时候,里面加一个全局唯一的 id ...

Mon Apr 22 05:46:00 CST 2019 0 1516
消息队列的消费如何保证

什么是等? 任意多次执行所产生的影响均与一次执行的影响相同就可以称为等 什么是消息等? 当出现消费者对某条消息重复消费的情况时,重复消费的结果与消费一次的结果是相同的,并且多次消费并未对业务系统产生任何负面影响 为什么我们要保证,不保证,会不会有问题? 这个问题其实没法 ...

Mon Aug 10 02:41:00 CST 2020 1 1315
消息队列-如何保证消息的不被重复消费(如何保证消息消费的

消息传递过程中,如果出现传递失败的情况,发送会执行重试,重试可能会产生重复的消息。对系统来说,如果没有对重复消费进行处理,会导致系统数据发生错误。 比如,一个订单系统,订单创建成功后,把数据写入统计数据库,如果发生重复统计,会导致数据库数据错误。 解决消息重复消费,其实就是保证消息 ...

Fri Nov 19 15:45:00 CST 2021 0 220
如何保证消息不被重复消费以及怎么保证消息队列消费的

1、面试官心里分析 其实这个很常见的一个问题,这俩问题基本可以连起来问。既然是消费消息,那肯定要考虑考虑会不会重复消费?能不能避免重复消费?或者重复消费了也别造成系统异常可以吗?这个是MQ领域的基本问题,其实本质上还是问你使用消息队列如何保证,这个是你架构里要考虑的一个问题。面试官问你 ...

Fri Mar 08 05:03:00 CST 2019 0 819
消息队列保证消息消费的

昨天业务反馈了一个问题,一个用户的月流水账单重复了,拿到userid,开始定位问题之路。 查看数据库记录,如下图,用户月流水数据确实重复了(taskid同一个批次,每个月数据都有二条)。 1. 首先,看外部数据供应商是否重复推送业务数据给我,我程序中是会设置拦截重复消息 2. 查看 ...

Tue May 21 23:20:00 CST 2019 0 541
如何保证消息队列的高可用和以及数据丢失,顺序一致

如何保证消息队列的高可用和以及数据丢失,顺序一致 <!-- more --> RabbitMQ的高可用 RabbitMQ是比较有代表的,因为是基于主从做高可用的,我们就以他为例子讲解第一种MQ的高可用怎么实现。 rabbitmq有三种模式: 单机模式 ...

Thu Jan 03 19:59:00 CST 2019 0 1815
如何保证消息队列的顺序

或者:如何保证消息队列里拿到的数据按顺序执行? 解决方案的关键是在消费者消费之前,将有相关的数据按顺序写入同一个队列(queue或者是内存队列) 1、rabbitMQ 中,有个默认是数据1进入一个queue并且只会被一个消费者消费   场景:(1queue对多consumer ...

Sun Mar 01 07:58:00 CST 2020 0 1095
消息队列如何保证顺序

主要思路有两种:1、单线程消费来保证消息的顺序;2、对消息进行编号,消费者处理时根据编号判断顺序。 1、rabbitMq问题分析:如图,data1 和 data2 是有顺序的,必须 data1 先执行,data2 后执行;这两个数据被不同的消费者消费到了,可能 data2 先执行,data1 ...

Thu Jan 31 16:58:00 CST 2019 0 13638
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM