码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • SpringCloud微服务-RabbitMQ快速入门


    文章目录

      • RabbitMQ快速入门
        • 1、什么是MQ?
        • 2、RabbitMQ概述
        • 3、RabbitMQ的结构和概念
        • 4、常见消息模型
        • 5、HelloWorld

    RabbitMQ快速入门

    1、什么是MQ?

    • MQ (MessageQueue),中文是消息队列,字面来看就是存放消息的队列。也就是事件驱动架构中的Broker。

    • 消息:就是一个个待处理的事件。

    常见的MQ中间件:

    image-20240305175616416

    2、RabbitMQ概述

    RabbitMQ是基于Erlang语言开发的开源消息通信中间件,官网地址:https://www.rabbitmq.com/

    RabbitMQ安装参考文档:RabbitMQ部署指南

    3、RabbitMQ的结构和概念

    image-20240305205451729

    RabbitMQ中的几个概念:

    • channel:操作MQ的工具

    • exchange:路由消息到队列中

    • queue:缓存消息

    • virtual host:虚拟主机,是对queue、exchange等资源的逻辑分组

    4、常见消息模型

    MQ的官方文档中给出了5个MQ的Demo示例,对应了几种不同的用法:

    • 基本消息队列(BasicQueue)

      image-20240305210209074

    • 工作消息队列(WorkQueue)

      image-20240305210212626

    • 发布订阅(Publish、Subscribe),又根据交换机类型不同分为三种:

      • Fanout Exchange:广播

        image-20240305210216601

      • Direct Exchange:路由

        image-20240305210224154

      • Topic Exchange:主题

        image-20240305210229106

    5、HelloWorld

    官方的HelloWorld是基于最基础的消息队列模型来实现的,只包括三个角色:

    • publisher:消息发布者,将消息发送到队列queue
    • queue:消息队列,负责接受并缓存消息
    • consumer:订阅队列,处理队列中的消息

    测试demo:有详细的注释,访问RabbitMQ管理端口来断点测试,感受消息队列的流程。

    image-20240305211815608

    基本消息队列的消息发送流程:

    1. 建立connection

    2. 创建channel

    3. 利用channel声明队列

    4. 利用channel向队列发送消息

    基本消息队列的消息接收流程:

    1. 建立connection

    2. 创建channel

    3. 利用channel声明队列

    4. 定义consumer的消费行为handleDelivery()

    5. 利用channel将消费者与队列绑定

    下篇我会讲解RabbitMq在Spring中的运用:SpringAMQP

  • 相关阅读:
    相机图像质量研究(23)常见问题总结:CMOS期间对成像的影响--紫晕
    网络地址转换(NAT)(二)
    【基于国产openEuler操作系统手动安装openLooKeng1.10.0单机版】
    docker 容器 network host 模式启动
    CRM系统开发
    【毕业季_进击的技术er】大四在兵荒马乱中如期而至,迷茫在跌跌撞撞中戛然而止。而我的梦想从这里开始!
    数据中台稳定性的“四高” | StartDT Tech Lab 18
    基于UDP协议搭建的简单客户端与服务器(UDP协议)
    如何使用 HTML data-属性
    StatefulSets In K8s
  • 原文地址:https://blog.csdn.net/m0_63144319/article/details/136517982
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号