当前位置: 首页 > news >正文

学习Java第四十六天——黑马商城MQ入门85~100

文章目录

  • MQ
    • MQ入门-01.MQ课程介绍
  • MQ入门-02.初识MQ
    • MQ入门-02.初识MQ-同步调用优缺点
    • MQ入门-03.初识MQ-异步调用优缺点
    • MQ入门-04.初识MQ-技术选型
  • MQ入门-05.RabbitMQ
    • MQ入门-05.RabbitMQ-安装部署
    • MQ入门-06.RabbitMQ-快速入门
    • MQ入门-07.RabbitMQ-数据隔离
  • MQ入门-08.Java客户端
    • MQ入门-08.Java客户端-快速入门
    • MQ入门-09.Java客户端-WorkQueue
    • MQ入门-10.Java客户端-Fanout交换机
    • MQ入门-11.Java客户端-Direct交换机
    • MQ入门-12.Java客户端-Topic交换机
    • MQ入门-13.Java客户端-基于Bean声明队列交换机
    • MQ入门-14.Java客户端-基于注解声明队列交换机
    • MQ入门-15.Java客户端-消息转换器
  • MQ入门-16.业务改造


MQ

在这里插入图片描述

MQ入门-01.MQ课程介绍

调用者发起请求后需要等待服务提供者执行业务返回结果后,才能继续执行后面的业务。也就是说调用者在调用过程中处于阻塞状态,因此我们称这种调用方式为同步调用,也可以叫同步通讯。
在这里插入图片描述
我们的课程主要分为两大部分:基础篇和高级篇。

基础篇中,我们会带着大家学习 MQ 中最实用的一些技术,也就是在企业开发中应用最广泛、用于解决常见开发问题的技术。主要内容包括同步与异步的使用场景及其差异、MQ 技术的选型分析(为什么选择 RabbitMQ)、MQ 中的数据隔离技术、SpringAMQP 的用法、Work 模式、MQ 消息转换器,以及发布订阅消息堆积问题的处理等。掌握了这些内容,基本上就能够解决开发过程中最常见的问题。

接下来是高级篇。这一部分主要涉及工作中少量的疑难问题,以及面试中常见的高频问题。内容包括:消息发送失败的处理机制、发送者的重连与确认机制,以确保消息能够成功发送到 MQ;消息进入 MQ 之后,系统如何应对高并发消息量的问题;以及 Lazy Queue 稳定队列的使用。同时,还会讲解如何保证消息的安全性——通过 MQ 的持久化机制确保消息能够保存到磁盘。消费者在接收消息后,也需要确保消息被正确消费,因此会涉及消费者确认机制和消费者失败重试机制。由于重试可能导致消息重复发送,还需要实现业务的幂等性,这是 MQ 处理中一个较为复杂的难点问题。最后,我们还会介绍延迟消息这一热点技术。延迟消息是 MQ 在实际应用中非常重要的一个功能模块,也是在许多高性能系统中广泛使用的关键技术。
在这里插入图片描述

MQ入门-02.初识MQ

在这里插入图片描述

MQ入门-02.初识MQ-同步调用优缺点

当然不是说同步调用就是完全就是不可用的啊,在用户扣余额的这个时候,我们就应该用同步调用,因为我需要知道它的结果才能去做下一步操作,而根据结果做判断嘛对吧,所以不得不用同步调用。而但是呢在后续这些边缘业务,跟我这个支付业务不相关的业务,就不想去同步调用,因为跟我没关系还要调用你来影响我。
在这里插入图片描述
同步调用优势:也就是说它能够立刻得到结果。所以呢如果你的项目的某一个业务,它是需要根据调用的结果去做后续处理的,你就应该用同步调用。事实上百分之八九十的业务都是这样子,需要同步调用。
在这里插入图片描述

MQ入门-03.初识MQ-异步调用优缺点

在这里插入图片描述
弹幕:没有什么是加一层解决不了的。
在这里插入图片描述
什么叫“流量削峰填谷”:
大家思考一下,我们现在的支付业务,是不是一个并发比较高的业务?当然,它的并发不是一直都很高。比如现在比较流行的直播带货。主播在那儿倒数“三、二、一,上架!”的那一瞬间,是不是无数的人同时进来抢购、支付?这个时候流量就会瞬间激增,很有可能一下子就把你的服务压垮。但是,当这一波货上架抢完之后,接下来主播开始介绍产品,这个阶段的服务器流量就会非常低。等到下一次“3、2、1上架”时,流量又会迅速飙升。所以,你会发现服务器的流量是忽高忽低、波动明显的:有时候突然飙升,把服务器“干趴下”;有时候又几乎没有流量,服务器闲着没事做。这样一来,不仅没有充分利用服务器资源,反而容易因为流量激增导致系统崩溃,这显然是不合理的。

那怎么办呢?——消息代理(Message Broker)。也就是说,当有激增的流量过来时,我们不着急处理,先把消息发到消息代理中去。消息代理可以缓存这些消息,而且它的容量可以理解为几乎是无限的。于是,大量的请求被暂时“拦住”了,就像一个大坝把洪水拦在后面。拦住之后怎么办?后端的各个微服务可以根据自身的处理能力,慢慢地从消息队列中取消息来处理。无论前端流量多高、多猛,都先进入队列,后续再按照系统的节奏逐步消费。这样一来,就相当于把“峰值流量”分

http://www.dtcms.com/a/516395.html

相关文章:

  • 031-Cruehead.1
  • 双管齐下:结合显式等待与Timeout处理复杂Ajax网页
  • 重庆网站营销公司wordpress使用百度分享插件下载
  • 快速上手大模型:机器学习5(逻辑回归及其代价函数)
  • 网站更换服务器怎么做建筑企业资质公司
  • 【Linux】系统中的文件管理
  • 国产化Excel开发组件Spire.XLS教程:使用Python将TXT文件转换为CSV
  • 找个网站懂的网站连云港网站关键词
  • FFmpeg介绍、使用说明
  • FreeRTOS中断优先级与任务优先级的核心区别
  • 多语言 网站源码网站开发哈尔滨网站开发公司
  • 从seo角度去建设网站洗发水营销推广软文800字
  • neo4j的基础安装及简单实例
  • 标准 IO
  • [人工智能-大模型-38]:模型层技术 - 不同类型的机器学习算法原理的对比
  • 做网站框架图哪个在线网站好用百度seo和sem的区别
  • 网站建设项目工作分解结构快影
  • Spring Boot 多数据源与事务管理深度解析:从原理到实践
  • 做网站注册页面微擎 网站开发工具
  • 怎么解除百度网盘下载限速
  • Linux内核coredump分析方案
  • 网站建设平台简介兰州哪里做网站
  • 衡水企业网站强力搜索引擎
  • 简介NPM 和 NPX
  • 16.MySQL 服务器配置与管理
  • Java集合框架整体分类(完整的集合框架关系)
  • LangChain最详细教程之使用概述(三)
  • 前端-ES6-11
  • jquery在网站开发实例运用网站优化 流量
  • Day 07 C++入门 之实践例子-----通讯录管理系统的设计与构建