开发者社区 > 云原生 > 云消息队列 > 正文

你觉得消息队列MQ的产品怎么样?

2000积分

如题

展开
收起
提个问题 2023-05-17 14:38:25 1464 1
29 条讨论
参与讨论
取消 提交讨论
  • 从技术的角度来看,消息队列MQ产品是非常有用的工具,它们可以大幅提高分布式系统中的数据传输和处理效率,实现异步和解耦的处理方式,优化系统性能和可用性。不同的MQ产品有着各自的特点和优势,应该根据具体的业务需求、应用场景以及系统架构等情况,来选择相应的MQ产品。同时,需要在实际使用中认真了解MQ产品的技术特点和使用规范,合理设定MQ参数配置,避免出现过度使用或者错误使用等问题,确保MQ产品能够发挥其优势和特点,为系统的稳定性和性能提供支持。

    2023-06-02 22:45:08
    赞同 1 展开评论 打赏
  • 消息队列MQ是一种应用间的通信方式,可以实现系统解耦、异步调用和流量削峰等功能。不同的MQ产品有各自的优缺点,具体的选型需要根据业务场景和需求进行权衡。以下是一些常见的MQ产品的优缺点:

    • RocketMQ:阿里巴巴开源的MQ产品,具有高可用、高吞吐、高可靠、低延迟等特点,支持分布式事务、批量消息、顺序消息等功能,适用于金融、电商、物流等场景。但是RocketMQ的部署和运维相对复杂,需要依赖NameServer集群和Broker集群,还需要配置主从同步和负载均衡等。
    • RabbitMQ:基于Erlang语言开发的MQ产品,具有稳定性高、可扩展性强、支持多种协议和语言等特点,支持延迟消息、优先级队列、死信队列等功能,适用于物联网、社交网络、游戏等场景。但是RabbitMQ的吞吐量相对较低,不支持分布式事务和批量消息,也不支持顺序消息。
    • Kafka:LinkedIn开源的MQ产品,具有高吞吐、高并发、高扩展性等特点,支持分区消费、重复消费、流处理等功能,适用于日志收集、监控数据、大数据分析等场景。但是Kafka的可靠性相对较低,不支持延迟消息和优先级队列,也不支持分布式事务和顺序消息。
    2023-06-01 19:25:29
    赞同 展开评论 打赏
  • 阿里云消息队列MQ是一种基于阿里云的消息传递服务,支持多种消息通信协议,包括AMQP、Stomp、MQTT、Http和WebSocket等,可以实现高可靠性、可伸缩性、低延迟的消息通信。阿里云MQ还提供了消息队列、主题消息、分区、事务消息等高级特性,能够满足各种不同应用场景的需求。此外,阿里云MQ还提供了实时监控和报警功能,帮助用户及时发现和解决问题。

    2023-06-01 15:40:27
    赞同 展开评论 打赏
  • 值得去的地方都没有捷径

    阿里云消息队列MQ是一款高可用性和高可靠性的消息处理服务,主要用于不同应用之间的异步数据传输和通信。它基于经过实践和验证的 Apache RocketMQ 开发,并使用阿里云丰富的生态系统和支持服务进行增强。

    阿里云MQ的主要特点包括高可用性、高可靠性、灵活稳定、低延迟、高吞吐量和安全性等。其具有独特的负载均衡和消息过滤机制,可以快速而准确地处理大量的消息流量,从而提高应用程序的响应速度。

    此外,阿里云MQ还提供了开箱即用的K8s(Kubernetes)集成,支持多种编程语言和平台,并可与多种数据源和处理工具进行集成,如数据仓库、流处理器、Big Data 组件等。这使得它在分布式架构和微服务场景下非常适用。

    但是,阿里云MQ的价格比起其他开源的消息队列和云消息队列有些贵,此外,对于一些传送的敏感信息,安全性仍有继续提升的空间。同时,阿里云MQ也存在一些隐藏的配置和使用成本,可能需要付出更多的时间、金钱和资源。

    总的来说,阿里云MQ是一款具有强大特性和可靠性的消息处理服务,非常适合大型企业或需要大量数据传输的应用。但在选择时,需要根据具体应用需要进行权衡和比较,并仔细评估其成本和安全性,以确保最终选择的服务符合业务需求。

    2023-06-01 12:27:08
    赞同 1 展开评论 打赏
  • 关山难越,谁悲失路之人?

    作为一种高效的通信机制,消息队列(Message Queue,简称MQ)已经在很多企业级应用中得到了广泛的使用。MQ产品一般具备高可用性、可靠性、扩展性等优点,能够有效地解决分布式系统中的异步处理和解耦等问题。

    当下流行的MQ产品有很多种,比如Apache Kafka、RabbitMQ、ActiveMQ、RocketMQ、NSQ等等。每个产品都有自身的特点和适用场景,需要根据具体的业务需求和应用场景来选择。

    总的来说,MQ产品是一种非常实用的工具,能够提升系统的可靠性和性能,具有较好的市场前景和发展潜力。但同时,也需要注意MQ的使用成本和技术挑战。

    2023-06-01 11:19:44
    赞同 展开评论 打赏
  • RocketMQ 是一个开源的分布式消息中间件系统,最初由阿里巴巴集团开发并开源。RocketMQ 被设计用于满足大规模分布式系统中高吞吐量、低延迟、可靠性强的消息传递需求。

    RocketMQ 具有以下一些特点和功能:

    1. 高吞吐量和低延迟:RocketMQ 被设计为高吞吐量、低延迟的消息中间件。它通过优化存储、传输和消息消费的机制,能够处理大规模消息流并实现快速的消息传递。

    分布式架构:RocketMQ 的架构支持分布式部署,可以水平扩展以应对高负载和大规模消息流。它采用了主题(Topic)和消息队列(Queue)的概念,支持多个生产者和消费者的并发操作。

    可靠性:RocketMQ 提供了多种消息传递模式,包括同步发送、异步发送和单向发送。它还支持消息的持久化和故障恢复,确保消息在传递过程中的可靠性。

    消息顺序性:RocketMQ 提供了严格有序消息和局部有序消息的支持。它能够保证同一个消息队列中的消息按照发送顺序被消费,同时也支持多个消息队列的并发消费。

    支持分布式事务:RocketMQ 提供了分布式事务消息的支持。它允许发送方在发送消息时执行本地事务,并根据事务的结果决定是否提交或回滚消息。

    当评估 RocketMQ 或任何其他消息队列产品时,以下因素可能会对你的决策产生影响:

    1. 可扩展性:RocketMQ 的分布式架构允许水平扩展以处理大规模消息流。你需要评估 RocketMQ 是否能够满足你的预期吞吐量和负载需求,并且是否具备足够的可扩展性来支持未来的增长。

    可靠性和持久化:消息的可靠性和持久化对于许多应用场景至关重要。你需要了解 RocketMQ 在消息传递过程中的可靠性保证机制,包括消息持久化、故障恢复和数据备份等方面。

    延迟和性能:RocketMQ 被设计为具有低延迟和高性能的消息中间件。你需要评估其在实际场景中的表现,并确保它能够满足你的性能要求,特别是对于需要快速响应的应用。

    社区支持和生态系统:考虑到 RocketMQ 是一个开源项目,你可以评估其社区活跃程度、开发者支持、文档资料和可用的工具、框架等。一个活跃的社区和丰富的生态系统可以提供更好的支持和解决方案。

    可用性和部署:评估 RocketMQ 的可用性和部署方面的特点。了解其高可用性机制、容错性、负载均衡、监控和管理工具等。你需要确保 RocketMQ 可以方便地集成到你的环境中,并具备良好的管理和运维能力。

    一致性和顺序性:如果你的应用场景要求严格的消息顺序性或分布式事务支持,那么你需要评估 RocketMQ 在这些方面的能力和限制。

    部署和管理复杂性:评估 RocketMQ 在部署和管理方面的复杂性。了解其系统架构、配置和监控要求,以及是否与你的现有基础设施和工具集成良好。

    可靠性保证:了解 RocketMQ 提供的消息传递保证级别。某些应用场景可能需要严格的传递保证,例如至少一次传递、精确一次传递或按顺序传递。确保 RocketMQ 的保证级别符合你的需求。

    社区活跃度和维护:评估 RocketMQ 的社区活跃度和维护情况。活跃的社区意味着更快的问题解决和新功能的开发。此外,关注社区对安全漏洞和问题的快速响应能力。

    安全性:考虑你的应用是否需要消息传递的安全性。评估 RocketMQ 是否提供身份验证、加密和访问控制等安全机制来保护消息的机密性和完整性。

    集成和支持:了解 RocketMQ 是否能够与你的现有技术栈和工具集成。这包括客户端库的可用性、开发语言支持以及与其他系统(如数据库、缓存等)的集成能力。

    性能调优和优化:评估 RocketMQ 的性能调优和优化能力。了解如何配置和调整 RocketMQ 来提高性能,并了解其在大规模负载下的表现。

    最终,选择合适的消息队列产品需要综合考虑以上因素,并根据你的具体需求和约束做出决策。可以参考产品文档、案例研究、用户反馈和技术论坛等资源,以获取更多关于 RocketMQ 的信息,并与其他消息队列产品进行比较,找到最适合你的应用的解决方案。

    2023-06-01 09:25:20
    赞同 展开评论 打赏
  • 阿里云消息队列MQ是一种消息中间件,主要用于构建分布式架构和解决异步消息传递问题。它可以在分布式系统中实现高性能、高可靠性、可伸缩性的消息传递,适用于多种场景。以下是阿里云消息队列MQ的使用场景:

    1、异步通信:消息队列MQ可以实现异步通信,将请求发送到消息队列中,让消费者异步处理请求,提高系统的处理效率。

    2、应用解耦:消息队列MQ可以将不同的应用程序解耦,降低应用程序之间的依赖性,提高系统的可维护性。

    3、流量削峰:消息队列MQ可以通过缓存消息的方式削峰,保证系统的稳定性。

    4、分布式事务:消息队列MQ可以实现分布式事务,保证数据的一致性。

    5、日志收集:消息队列MQ可以作为日志收集系统,收集分布式系统中的日志信息。

    不过也有些劣势的地方:

    1、可能会增加系统的复杂性,需要进行额外的配置和管理。

    2、可能会引入消息丢失和消息重复的问题,需要进行消息的确认和幂等性处理。

    3、可能会增加系统的延迟,需要对消息的处理进行优化和监控。

    总的来说,阿里云消息队列MQ是一种非常适合构建分布式系统的消息中间件,可以提高系统的可靠性和可维护性,但需要在使用过程中注意处理好复杂性、消息丢失、消息重复和延迟等问题。

    2023-05-31 23:17:47
    赞同 1 展开评论 打赏
  • 作为一种解决分布式系统中异步通信问题的技术,消息队列(MQ)在现代软件架构中扮演着越来越重要的角色。市面上有很多MQ产品,如Kafka、RabbitMQ、ActiveMQ、RocketMQ等等。每个产品都有其独特的特点和适用场景。

    Kafka是一个高吞吐量的分布式发布订阅消息系统,适用于大规模的数据处理场景。RabbitMQ是一个开源的AMQP消息代理,适用于企业级应用。ActiveMQ是一个开源的消息中间件,支持多种协议和编程语言。RocketMQ是阿里巴巴开源的分布式消息中间件,适用于高并发、高可靠的消息处理场景。

    总的来说,MQ产品的选择应该根据具体的业务场景和需求来进行评估和选择。需要考虑的因素包括消息的大小、吞吐量、延迟、可靠性、安全性、可扩展性等等。

    2023-05-31 14:30:59
    赞同 展开评论 打赏
  • 消息队列MQ是一种流行的分布式系统组件,它可以帮助应用程序在不同的系统之间异步传递消息。它的作用在于帮助应用程序实现解耦和异步处理,从而提高系统的可扩展性、可靠性和可维护性。在本文中,我将从不同的角度来探讨消息队列MQ的产品特点和优势。

    一、高性能

    消息队列MQ的一个显著特点是高性能。它可以处理大量的消息,同时也可以在短时间内处理大量的请求。这主要是由于MQ采用异步传输的方式,消息的发送和接收可以在不同的线程中进行,从而避免了阻塞和等待。此外,MQ还支持批量传输,可以将多个消息一起发送或接收,从而进一步提高了性能。

    二、可靠性

    消息队列MQ的另一个优势是可靠性。在消息传递过程中,MQ会对消息进行持久化,确保消息不会因为系统故障或其他原因而丢失。即使在发送方和接收方之间出现网络故障,MQ也可以保证消息的可靠性。此外,MQ还支持消息的重试和回溯,可以在消息丢失或处理失败时重新发送消息或重新处理消息。

    三、解耦和

    消息队列MQ还可以帮助应用程序实现解耦和。应用程序可以将消息发送到MQ中,而不必关心消息的具体处理过程。接收方可以根据自己的需要来订阅消息,从而实现解耦和。这样,应用程序之间的耦合度就会降低,系统的可维护性和可扩展性也会得到提高。

    四、可扩展性

    消息队列MQ还有一个优势是可扩展性。随着应用程序的增长,消息的数量和频率也会增加。这时,MQ可以通过增加消息队列、增加消息处理的节点等方式来扩展系统的容量。这可以保证系统的性能和可靠性,同时也可以降低系统的成本。

    五、应用场景

    消息队列MQ在实际应用中有着广泛的应用场景。比如,可以用于异步任务处理,将任务放到MQ中,由后台进程异步地处理任务,从而提高系统的并发性能。还可以用于事件驱动架构,将事件发送到MQ中,由订阅者异步地处理事件,从而实现松耦合和高可扩展性。此外,MQ还可以用于分布式系统,将消息发送到不同的节点,从而实现分布式的消息传递。

    综上所述,消息队列MQ的产品具有高性能、可靠性、解耦和、可扩展性等优点,可以帮助应用程序实现异步处理、事件驱动架构、分布式系统等场景。在实际应用中,需要根据具体情况来选择合适的MQ产品,并考虑到数据安全、消息可靠性、容错性等因素。

    2023-05-30 21:32:08
    赞同 展开评论 打赏
  • 你觉得消息队列MQ的产品怎么样?

    MQ 是 Message Queue的缩写, 泛指消息队列, 我们可以把它理解为一个容器,容器中存放大量的等待执行的耗时任务。

    MQ 的诞生的主要是根据生产消费者设计模式, 从高内聚和低耦合出发的理念来设计实现, 降低应用任务之间的强耦合性, 提高性能!

    阿里云在的消息队列产品 有: kafka, rabbitmq, rocketmq 可以满足不同业务的需求。 如何选择的话 还是看业务了

    2023-05-30 17:28:04
    赞同 展开评论 打赏
  • 始终相信技术改变一切,分享自己的工作经验

    消息队列产品主要特征是解耦,缓冲,触发,如果架构需要,还是很不错的

    2023-05-30 11:36:59
    赞同 展开评论 打赏
  • 消息队列MQ是用于将消息从一个应用程序传递到另一个应用程序的方法。

    消息队列可以帮助应用程序解耦合,提高应用程序的吞吐量和可扩展性。

    消息队列是现代分布式系统中被广泛使用的一种通信方法。

    其优缺点有:

    1.优点

    流量控制:消息队列MQ可以帮助系统有效地控制流量,避免系统崩溃的情况。

    负载均衡:消息队列MQ可以根据系统的负载情况合理地分配消息的消费者,实现负载均衡。

    异步通信:消息队列MQ使用异步通信,可以大大提高系统的吞吐量和响应速度。

    解耦合:消息队列MQ可以将不同的模块或者服务解耦合,提升系统的可维护性和可扩展性。

    可靠性:消息队列MQ保证消息的持久化存储,即使其中一个消费者出现故障,其他消费者也能够获取到消息并进行消费,从而提高系统的可靠性。

    2.缺点

    消息顺序:在消息队列MQ中,消息的消费顺序可能会被打乱,需要开发人员进行特殊处理。
    
    语言支持:不同的消息队列支持不同的编程语言,开发人员需要了解和掌握相关技术。
    
    新增系统复杂度:在系统中引入消息队列MQ会增加系统的复杂度,需要针对消息队列进行相关的配置和管理。
    
    性能问题:在高并发的情况下,消息队列的性能也会受到限制。
    

    而MQ的可靠性主要体现在以下几个方面:

    高可用性:MQ可以通过集群和备份机制来保证高可用性。
    
    消息持久化:MQ可以将消息持久化到磁盘中,即使在系统崩溃的情况下也能够保证消息的不丢失。
    
    消息确认机制:MQ可以通过消息确认机制来保证消息的可靠传递。
    
    消息重试机制:MQ可以通过消息重试机制来保证消息的可靠传递。
    
    2023-05-30 10:04:40
    赞同 展开评论 打赏
  • 阿里的消息队列产品挺全的,从rocketmq,kafka在,再到rabbitmq;无论是在大规模的实时数据处理,高吞吐的消息传输,还是在灵活的消息路由和分发,阿里的消息队列产品都能满足各种场景的需求。 不过也是因为独特的生态体系,导致使用会存在学习成本,面向的也主要是企业而不是个人,依赖销售,最终是由企业选型让员工使用和学习,而基本不是开发者本身主动学习在公司选型的时候提出使用.

    2023-05-30 09:08:38
    赞同 展开评论 打赏
  • 小型游戏项目是一个相对简单的应用,它通常包括游戏引擎、图形渲染、音频处理、用户输入等多个方面。在这个项目中使用消息队列 MQ 来实现不同模块之间的通信是非常重要的。下面,我们将以小型游戏项目为例,探讨 MQ 在不同模块之间的作用。

    一、MQ 在游戏引擎中的应用

    游戏引擎通常需要处理许多不同的事件,例如玩家输入、游戏状态更新、场景切换等。为了实现高效的事件处理,游戏引擎通常会将事件分为不同的事件类别,并使用消息队列来存储和处理这些事件。开发人员可以使用 MQ 来发布和订阅游戏事件,从而实现游戏引擎的不同模块之间的通信。

    例如,当玩家按下了键盘上的 A 键时,游戏引擎可以通过 MQ 发布一个事件,告诉图形渲染模块应该更新玩家的朝向和位置。图形渲染模块可以使用这个消息来更新玩家的视野和角色位置,从而提高游戏的稳定性和流畅性。

    二、MQ 在游戏渲染中的应用

    在游戏渲染中,开发人员需要实时处理大量的图形数据,例如玩家的视野、场景物体、光影效果等。为了实现高效的渲染过程,游戏渲染模块通常会使用消息队列来存储和处理这些数据。 例如,当游戏引擎发布了一个玩家朝向和位置的更新时,游戏渲染模块可以使用 MQ 来订阅这个事件,并获取玩家的视野和角色位置等信息。然后,游戏渲染模块可以将这些信息应用到场景中的物体上,并实时生成光影效果。这样可以提高游戏的流畅性和稳定性,同时减少内存占用和计算压力。

    三、MQ 在游戏音频中的应用

    在游戏音频中,开发人员需要实时处理游戏中的音频数据,例如音效、背景音乐等。为了实现高效的音频处理,游戏音频模块通常会使用消息队列来存储和处理这些数据。 例如,当游戏引擎发布了一个音效事件时,游戏音频模块可以使用 MQ 来订阅这个事件,并下载和播放相应的音频数据。这样可以提高游戏的音效质量和流畅性,同时减少内存占用和计算压力。

    综上所述,MQ 在游戏项目中具有重要的应用价值。通过使用 MQ,游戏引擎、图形渲染、音频处理等各个模块可以实现高效、稳定的通信,从而提高游戏的质量和流畅性。同时,MQ 还可以用于存储和处理游戏数据,例如玩家数据、场景数据、音频数据等,从而实现游戏数据的高效管理和处理。

    此外,MQ 还可以用于实现游戏事件的发布和订阅,例如玩家输入、游戏状态更新、场景切换等。通过使用 MQ,游戏开发人员可以实现简单、高效、稳定的游戏事件处理机制,从而提高游戏的稳定性和流畅性。

    总之,MQ 在游戏项目中具有广泛的应用前景。通过使用 MQ,游戏开发人员可以实现高效的通信、数据处理和事件处理机制,从而提高游戏的质量和流畅性,同时降低系统的复杂度和成本。

    2023-05-30 09:04:13
    赞同 展开评论 打赏
  • 会的都会,不会的催也不会

    消息队列,从字面意思理解是为,处理消息的队列。首先是队列,先进先出是为了解决消息的时序性问题;然后是消息,为了处理消息的存在的。由于现在的数据安全可靠性越来越重要,而且访问流的稳定性也变成考量产品的一大特性,因此为了解决各个服务之间的数据共享和传输问题,产生了消息队列。主要的特性有,高并发,低时延,安全可靠等特性。

    2023-05-29 22:01:44
    赞同 展开评论 打赏
  • 学无止境!

    消息队列MQ概述 消息队列(Message Queue,简称MQ),指保存消息的一个容器,本质是个队列。

    消息(Message)是指在应用之间传送的数据,消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。

    下图便是消息队列的基本模型,向消息队列中存放数据的叫做生产者,从消息队列中获取数据的叫做消费者。

    消息队列MQ应用场景 

    1.异步处理

    消息队列的主要特点是异步处理,主要目的是减少请求响应时间,实现非核心流程异步化,提高系统响应性能。

    举一个用户注册的例子,用户注册成功后,系统需要发送注短信注册成功通知,以及赠送注册成功的积分。

    1)同步

    同步的总耗时:10ms+100ms+100ms=210ms

    由于短信通知与增加积分为非核心流程,为了提升系统响应性能,从而我把它改造为异步。

    2)异步

    改造后就变成上图,之前需要等用户注册10ms+短信通知100ms+增加积分100ms才能返回,现在把短信通知和增加积分改为异步的形式,用户注册后写入消息10ms左右立即返回成功给客户端,无需等待耗时较久的同步(短信+积分)就可以返回,从而极大的提升了系统的吞吐量。

    所以异步的典型场景就是将比较耗时而且不需要即时(同步)返回结果的操作,通过消息队列来实现异步化。

    2.应用解耦

    使用了消息队列后,只要保证消息格式不变,消息的发送方和接收方并不需要彼此联系,也不需要受对方的影响,即解耦。

    每个成员不必受其他成员影响,可以更独立自主,只通过消息队列MQ来联系。

    2023-05-29 21:55:24
    赞同 展开评论 打赏
  • 某政企事业单位安全运维工程师,主要从事系统运维及网络安全工作,多次获得阿里云、华为云、腾讯云征文比赛一二等奖;CTF选手,白帽,全国交通行业网络安全大赛二等奖,全国数信杯数据安全大赛银奖,手握多张EDU、CNVD、CNNVD证书。

    阿里云消息队列MQ是阿里云提供的一款稳定可靠的云原生消息队列产品,具有以下几个特点: (1)高可靠性和稳定性:阿里云MQ提供了多种高可靠性和容错机制,包括多可用区部署、消息冗余备份、自动切换和监控报警等,保证了消息服务的高可靠性和稳定性。 (2)高性能和低延迟:阿里云MQ采用分布式架构和异步I/O等技术,具有高吞吐量和低延迟的特点,可以满足高并发场景下的消息传输需求。 (3)多种协议支持:阿里云MQ支持多种协议和消息格式,包括AMQP、STOMP、MQTT、HTTP REST等,可以满足不同的应用场景和开发需求。 (4)易用性和可扩展性:阿里云MQ提供了Web控制台、API接口和SDK支持,方便用户进行管理和开发,同时支持横向扩展和热升级等功能,灵活满足业务需求。 (5)安全可靠:阿里云MQ提供了多层安全保障,包括网络隔离、访问控制、加密传输、消息防篡改等,保障了消息服务的安全性和可靠性。

    2023-05-29 21:31:34
    赞同 1 展开评论 打赏
  • coder at work

    最近在学习「大师课-rocketmq」, 受益匪浅, 期待能用阿里云的消息队列MQ产品, 不断主力技术和业务前进

    2023-05-29 19:59:06
    赞同 展开评论 打赏
  • 阿里云消息队列(Message Queue,简称MQ)是一款分布式消息传递服务产品。它具有高可用、高并发、低延迟的特点,适合在分布式系统架构中使用,可以解决应用间异步处理和信息传递的问题。

    MQ 提供多种通信模式,主要有发布/订阅模式(Topic)和点对点模式(Queue),使用者可以根据自己的业务场景选择合适的模式。同时,阿里云 MQ 也提供了可靠性检测、堆积告警、监控等丰富的功能支持,方便用户查询和调试。

    除此之外,MQ 还支持对接多语言客户端,如 Java、Python、Node.js 等,以及开源消息协议,如 AMQP、STOMP 等,使得使用者可以轻松地进行快速开发和集成。

    总体而言,阿里云消息队列 MQ 在性能、可靠性和扩展性上都表现出色,广泛应用于国内外数字化转型、移动互联网、物联网等行业,随着时代的进步,其越来越受到开发者的青睐和认可。

    2023-05-29 18:16:14
    赞同 展开评论 打赏
  • 使用消息队列的优点很多,这里就说比较重要的三个优点:解耦、异步、削峰填谷。 ①、解耦:首先引入一个场景:系统A作位一个接口请求方,现在需要向B、C、D三个系统发送请求,这个时候呢A系统不需要发送请求给D系统了,而需要发送请求给E系统,那么在A系统里面就需要修改代码,每一次发送的请求方改变的话,都需要改代码,具有一定的耦合性。那么我们引入消息队列之后呢,A系统把需要发送的请求数据放到队列里即可,不需要关心哪个系统需要A系统的请求数据。 ②、异步:在引入一个场景:用户请求A系统,然后A系统还需同步调用B、C、D系统的接口,我们假设一下再A系统处理自身业务逻辑请求了一个sql的时间是200ms,然后调用B系统等待B系统处理几个sql的时间是300ms,在调用C系统处理业务逻辑200ms,在调用D系统处理业务逻辑200ms,那么一次请求至少等待1秒才会响应。比较耗时,那么我们再引入消息队列之后,用户调用A系统花费了200ms,然后A系统发送三条消息到消息队列里面去,总耗时是5ms左右,然后B、C、D系统去消费就行了,总共只花费200ms左右。 ③、削峰填谷当大量的用户(100万)通过浏览器再中午高峰期,同时进行大量的操作,会给数据库造成极大的压力,可能导致mysql宕机,但是中午高峰期过了的话,下午可能也就1万左右的用户在操作了,每秒50个请求左右,对系统没有任何压力,如果高峰期时将5000个请求写到MQ里面的话,系统A最多每秒执行2000个请求,不要超过每秒做大请求数就行,经过了2个小时的中午高峰期,再慢慢消费队列里面的消息,这个是可以接受的。

    2023-05-29 17:29:39
    赞同 1 展开评论 打赏
滑动查看更多

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/

相关产品

  • 云消息队列 MQ
  • 热门讨论

    热门文章

    相关电子书

    更多
    企业互联网架构之消息队列 立即下载
    基于消息队列RocketMQ的大型分布式应用上云最佳实践 立即下载
    云原生消息队列Apache RocketMQ 立即下载