消息队列中间件浅解以及6种常用消息队列对比

本文介绍了消息队列在分布式系统中的作用,如解耦、异步处理和流量削锋,并讨论了使用消息队列时的注意事项。列举了6种常见消息队列:ZeroMQ、RabbitMQ、ActiveMQ、Apollo、Kafka和RocketMQ,对比了它们的特性和适用场景。例如,ZeroMQ适合高性能场景,RabbitMQ注重数据一致性和稳定性,Kafka适用于日志传输,而RocketMQ在阿里巴巴集团得到广泛应用。
摘要由CSDN通过智能技术生成

消息队列(Message Queue):“消息队列”是在消息的传输过程中保存消息的容器,分布式应用间交换信息的重要组件,可存在内存或磁盘中,存储消息直到它们被取走。通过消息队列,应用间可以在不知道对方位置的情况下互相通信,并且不用等待。消息队列在应用解耦异步消息流量削锋等问题上有着突出贡献,是实现高性能、高可用、可伸缩和最终一致性架构中不可以或缺的一环。
在这里插入图片描述
消息队列的主要特点是异步处理,主要目的是减少请求响应时间和解耦。

主要的使用场景就是将比较耗时而且不需要立即生效返回结果的操作,我们把这种操作作为一个消息,放到消息队列中。处理方可以在任何时候去获取并处理这条消息。这里我们只要保证消息的格式不变,消息的发送方和接收处理方都认识这个消息,那么双方就不需要彼此通信,即可以完成一件事。

当然,如果我们使用消息队列的话,也有许多需要注意的点。比如,消息的发送方不需要接收方立即返回处理结果,否则的话只能等待处理结果;比如系统会有短暂的不一致性,发送方不可预知接收方什么时间处理完这个消息等等。

例子:

假设用户在软件中注册,服务端收到用户的注册请求后,它会做这些操作:

1.校验用户名等信息,如果没问题会在数据库中添加一个用户记录
2.如果是用邮箱注册会给你发送一封注册成功的邮件,手机注册则会发送一条短信
3.分析用户的个人信息,以便将来向他推荐一些

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值