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

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

2000积分

如题

展开
收起
提个问题 2023-05-17 14:38:25 1156 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
    赞同 展开评论 打赏
  • 某政企事业单位运维工程师,主要从事系统运维工作,同时兼顾教育行业、企业等src安全漏洞挖掘,曾获全国行业网络安全大赛二等奖。

    阿里云消息队列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 展开评论 打赏
滑动查看更多

多个子产品线联合打造金融级高可用消息服务以及对物联网的原生支持,覆盖多行业。

相关产品

  • 云消息队列 MQ
  • 相关电子书

    更多
    RocketMQ Client-GO 介绍 立即下载
    RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载
    基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载