专栏名称: Java知音
专注于Java,推送技术文章,热门开源项目等。致力打造一个有实用,有情怀的Java技术公众号!
今天看啥  ›  专栏  ›  Java知音

日常工作,MQ的8种常用使用场景

Java知音  · 公众号  · 科技自媒体  · 2025-01-10 10:05
    

主要观点总结

本文梳理了消息队列(MQ)的8种使用场景,包括异步处理、解耦、流量削锋、延时任务、日志收集、分布式事务、远程调用和广播通知。

关键观点总结

关键观点1: 异步处理

MQ最常见的应用场景之一是异步处理,如用户注册场景中发送短信或邮件通知。

关键观点2: 解耦

在微服务架构中,MQ可以帮助解耦服务,避免直接调用导致的强耦合。

关键观点3: 流量削锋

在高并发情况下,MQ可以用于流量的削峰填谷,确保系统平稳运行。

关键观点4: 延时任务

MQ的延时队列功能可以用于实现延时任务,如自动取消订单。

关键观点5: 日志收集

消息队列常用于日志系统中,将应用生成的日志异步发送到日志处理系统进行统一存储和分析。

关键观点6: 分布式事务

MQ可用于实现分布式事务,如通过发送半事务消息来确保数据的一致性和系统的稳定性。

关键观点7: 远程调用

基于MQ的远程调用框架可以实现金融场景的适配性,提供消息查询功能等。

关键观点8: 广播通知

消息队列可以非常适合用于广播通知,如系统维护、事件驱动的消息通知等。


文章预览

前言 我们日常开发中,经常跟MQ(消息队列)打交道。 本文梳理了MQ的8种使用场景。 1. 异步处理 面试官在问我们MQ作用时,很多伙伴马上想到 异步处理、解耦、流量削锋 等等。 MQ 最常见的应用场景之一就是 异步处理 。 比如,在用户注册场景中,当用户信息保存成功后,系统需要发送一个短信、或者邮箱消息,通知用户注册成功。如果这个短信或者邮箱消息发送 比较耗时 ,则 可能拖垮注册接口 。又或者如果调用第三方短信、邮件发送接口失败,也会影响注册接口。一般我们不希望一个通知类的功能,去影响注册主流程,这时候,则可以使用 MQ来实现异步处理 。 简要代码如下 :先保存用户信息,然后发送注册成功的MQ消息   // 用户注册方法   public void registerUser(String username, String email, String phoneNumber) {       // 保存用户信息(简化 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览