RabbitMq
John_like521
你若盛开,清风自来!
展开
-
MQ使用问题
一、如何保证消息的幂等性?业务系统在收、发MQ消息时都启用了确认机制,所以返回发送成功的消息至少会被消费一次(at-least-once), 需要消费端业务逻辑满足幂等性。幂等性是指,同一个消息被消费多次产生的结果与只消费一次的结果是相同的。x为某集合内的任意数, 如果满足f(x)=f(f(x)), 那么我们称f运算为具有幂等性。举个例子,下面的 Example 类的 close() 方法...原创 2019-12-23 17:19:31 · 612 阅读 · 0 评论 -
RabbitMQ问题整理
1.消息顺序消费问题将一个queue拆分成多个queue,一个queue对应一个消费者 这样进到queue中的数据是有序的,消费者消费的时候,也是按照顺序来消费2、消息丢失问题丢失消息的三种情况:生产者弄丢了数据、RabbitMQ 弄丢了数据、消费端弄丢了数据。一、生产者弄丢了数据生产者将数据发送到 RabbitMQ 的时候,可能数据就在半路给搞丢了,因为网络问题啥的,都有可能...原创 2019-11-20 11:30:30 · 436 阅读 · 0 评论 -
RabbitMQ入门使用
RabbitMQ(Rabbit Message Queue),即消息队列系统,它是一款开源消息队列中间件,采用Erlang语言开发,RabbitMQ是AMQP(Advanced Message Queueing Protocol)的标准实现。 AMQP是一个公开发布的异步消息的规范,是提供统一消息服务的应用层标准高级消息队列协议,为面向消息的中间件设计,消息中间件主要用于组件之间的解...原创 2018-11-07 17:29:32 · 2253 阅读 · 0 评论 -
MQ业务消息执行顺序问题
问题背景: 单机架构下MQ队列本身具有先进先出的有序特性,但在分布式架构下,消费的顺序受服务实例和网络的影响而无法继续保持有序特性。 由于业务消息的执行具有先后关系,无序的执行会导致业务处理异常。 以上BUG消费端采用业务逻辑兼容的方案(比如:先收到取消指令,会自动创建订单),会增加程序处理复杂度,方案上需要优化方案一:消费端增加消息记录表,暂存不满足业务条件的消息,并采用定时器进行补偿处...原创 2019-02-19 15:51:49 · 3620 阅读 · 0 评论