110.1 RabbitMQ的介绍常见问题和laravel使用方案

如何避免消息重复投递或重复消费?

在消息生产时,MQ 内部针对每条生产者发送的消息生成一个 inner-msg-id,作为去重的依据(消息投递失败并重传),避免重复的消息进入队列;在消息消费时,要求消息体中必须要有一个 bizId(对于同一业务全局唯一,如支付 ID、订单 ID、帖子 ID 等)作为去重的依据,避免同一条消息被重复消费。


在这里插入图片描述
系统可用性
系统引入外部依赖越多,系统稳定性越差,一旦MQ宕机,就会对业务造成影响。

系统复杂度提供
MQ的加入大大增加了系统的复杂度,以前系统间是同步的远程调用,现在是通过MQ进行异步调用。如何保证消息没有被重复消费?怎么处理消息丢失情况?如何保证消息传递的顺序性?

一致性问题
A系统处理完业务,通过MQ给B、C、D三个系统发消息数据,如果B系统、C系统处理成功,D系统处理失败。如何保证消息数据处理的一致性?

RabbitMq 基于AMQP这个协议的,Advanced Message Queuing Protocol,(高级消息队列协议),是一个网络协议

参考链接
【1】laravel使用rabbitmq
【2】lumen访问rabbitmq
【3】消息队列Kafka、RocketMQ、RabbitMQ的优劣势比较
【4】configure: error: Cannot find php-config. Please use --with-php-config=PATH 错误的解决方案
【5】php-rdkafka 扩展 常见问题
【6】宝塔PHP安装amqp扩展 完全符合目前的服务器环境 亲测可用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值