这是我参与「第五届青训营 」伴学笔记创作活动的第 12 天

一、什么是消息队列

消息队列是一种异步的服务间通信方式,适用于无服务器和微服务架构。消息在被处理和删除之前一直存储在队列上。每条消息仅可被一位用户处理一次。消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削峰等问题
消息队列是在消息的传输过程中保存消息的容器。在消息队列中,通常有生产者和消费者两个角色。生产者只负责发送数据到消息队列,谁从消息队列中取出数据处理,他不管。消费者只负责从消息队列中取出数据处理,他不管这是谁发送的数据。

二、常见的消息队列

  • Kafka:分布式的、分区的、多副本的日志提交服务,在高吞吐场景下发挥较为出色。
  • RocketMQ:低延迟、强一致、高性能、高可靠、万亿级容量和灵活的可扩展性,在一些
    实时场景中运用较广。
  • RabbitMQ:是流行的开源消息队列系统,用erlang语言开发。RabbitMQ是AMQP(高级消息队列协议)的标准实现。支持多种客户端,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
  • Pulsar:是下一代云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体、采用存算分离的架构设计。
  • BMQ:和Pulsar架构类似,存算分离,初期定位是承接高吞吐的离线业务场景,逐步替换掉对应的Kafka集群。

存算分离:将存储资源和计算资源拆分为独立的模块进行建设,在资源利用率、存储资源高效共享、多场景灵活部署、网存算协同等方面具有显著优势。

参考链接

消息队列是什么_mq是什么_MQ消息队列服务-AWS云服务 (amazon.com)

超详细的RabbitMQ入门,看这篇就够了!-阿里云开发者社区 (aliyun.com)

[RabbitMQ (十六) 消息队列的应用场景 (转) - 热敷哥 - 博客园 (cnblogs.com)](

最后修改:2023 年 06 月 07 日
如果觉得我的文章对你有用,请随意赞赏