articleList

01-RabbitMQ 课程介绍

2025/03/16 posted in  RabbitMQ
Tags: 

  • 为什么要学习 RabbitMQ 消息队列

    • 多数互联网公司里面用的技术栈,可以承载海量消息处理
    • 在多数互联网公司中,RabbitMQ 占有率很高,且全球都很流行
    • 在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现强劲,与 SpringAMQP 完美的整合、API 丰富易用
    • 可以作为公司内部培训技术分享必备知识,可靠性投递、消费、高可用集群等
  • 学后水平

    • 零基础掌握 MQ 中间件应用场景、掌握多个业界主流中间件优缺点

    • 掌握 JMS、AMQP 核心概念,各个优缺点和适合场景

    • 零基础急速掌握 Docker 容器知识+Linux 搭建 Docker 和部署 RabbitMQ

    • 掌握 RabbitMQ 多个核心概念交换机、队列、虚拟主机和 Web 管控台使用

    • 玩转 RabbitMQ 多个工作队列、发布订阅模型、主题模型通配符实战

    • 掌握新版 SpringBoot+AMQP 整合 RabbitMQ 并开发多个模式实战

    • 高级篇幅玩转可靠性消息投递 ConfirmCallback 和 returnCallback 编码实战

    • 高级篇幅掌握消息 ACK 确认机制+多种 Reject 编码实战

    • 高级篇幅掌握 RabbitMQ TTL 死信队列 + 延迟队列开发【综合案例实战】

    • 高级加餐内容

      • 掌握 Docker 搭建 RabbitMQ 高可用 默认、Mirror 镜像集群搭建实战+适合场景
      • 掌握多个集群模式整合 SpringBoot,模拟多种异常场景配置实战
      • 掌握常见一线互联网大厂 RabbitMQ 面试题+核心原理+学习路线
  • 适合人群

    • 高级后端工程师、高级前端/全栈工程师、运维工程师、CTO 更新必备技术栈
    • 从传统软件公司过渡到互联网公司的人员
  • 课程技术技术栈和环境说明

    • MQ 版本:RabbitMQ3.8.9+ErLang23.2.1
    • SpringBoot.2.4+Maven+IDEA 旗舰版+JDK8 或 JDK11
  • 课程开发环境准备

    • 创建新版 SpringBoot2.X 项目

    • 注意: 有些包 maven 下载慢,等待下载如果失败

      • 删除本地仓库 spring 相关的包,重新执行 mvn install
      • 建议先使用默认的 maven 仓库,不用更换地址
    • 当前项目仓库地址修改

      <!-- 代码库 -->
      <repositories>
          <repository>
              <id>maven-ali</id>
              <url>http://maven.aliyun.com/nexus/content/groups/public//</url>
              <releases>
                  <enabled>true</enabled>
              </releases>
              <snapshots>
                  <enabled>true</enabled>
                  <updatePolicy>always</updatePolicy>
                  <checksumPolicy>fail</checksumPolicy>
              </snapshots>
          </repository>
      </repositories>
      
      <pluginRepositories>
          <pluginRepository>
              <id>public</id>
              <name>aliyun nexus</name>
              <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
              <releases>
                  <enabled>true</enabled>
              </releases>
              <snapshots>
                  <enabled>false</enabled>
              </snapshots>
          </pluginRepository>
      </pluginRepositories>