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

【RabbitMQ基础编程模型】

文章目录

  • RabbitMQ基础编程模型
    • 基础编程模型
      • step1、首先创建连接,获取Channel
      • step2、声明Exchange-可选
      • step3、声明queue
      • step4、声明Exchange与Queue的绑定关系-可选

RabbitMQ基础编程模型

RabbitMQ的使用生态已经相当庞大,支持非常多的业务场景,同时也提供了非常多的客户端语言支持。
接下来我们只是通过Java语言来理解下要如何使用RabbitMQ。其他语言客户端可以参考示例与官方文件,
自行了解。
使用RabbitMQ提供的原生客户端API进行交互。这是使用RabbitMQ的基础。

基础编程模型

step1、首先创建连接,获取Channel

通常情况下,我们在一个客户端里都只是创建一个Channel就可以了,因为一个Channel只要不关闭,是
可以一直复用的。但是,如果你想要创建多个Channel,要注意一下Channel冲突的问题。
在创建channel时,可以在createChannel方法中传入一个分配的int参数channelNumber。这个
ChannelNumber就会作为Channel的唯一标识。而RabbitMQ防止ChannelNumber重复的方式是:如果对
应的Channel没有创建过,就会创建一个新的Channel。但是如果ChannelNumber已经创建过一个Channel
了,这时就会返回一个null。

step2、声明Exchange-可选

Exchange在消息收发过程中是一个可选的步骤,如果要使用就需要先进行声明。在声明Exchange时需要
注意,如果Broker上没有对应的Exchange,那么RabbitMQ会自动创建一个新的交换机。但是如果Broker上
已经有了这个Exchange,那么你声明时的这些参数需要与Broker上的保持一致。如果不一致就会报错。
声明Exchange时可以填入很多参数,对这些参数,你不用死记。实际上这些参数,包括最后的
arguments中可以传入哪些参数,在管理控制台中都有。关键属性在页面上都有解释。

step3、声明queue

与Exchange一样,如果你声明的Queue在Broker上不存
在,RabbitMQ会创建一个新的队列。但是如果Broker上已经有了这个队列,那么声明的属性必须和Broker
上的队列保持一致,否则也会报错。
声明Queue时,同样大部分的参数是可以从管理平台看到的。比如Durability,AutoDelete以及后面的
arguments参数可以传哪些参数,都可以从页面上看到。

step4、声明Exchange与Queue的绑定关系-可选


http://www.kler.cn/news/163245.html

相关文章:

  • 十六、FreeRTOS之FreeRTOS队列集
  • 数据中心:保障企业运营安全可靠的关键
  • 深入浅出之中央空调体系架构及楼宇自控系统
  • 找重复的数据(一维数组)
  • NLP项目实战01之电影评论分类
  • 目标检测YOLO实战应用案例100讲-交通场景中基于深度学习的目标检测和深度估计
  • FolkMQ 内存型消息中间件,v1.0.18 发布
  • 腾讯云CentOS8 jenkins war安装jenkins步骤文档
  • android快速网络请求之android-networking
  • 【Vue3+Ts项目】硅谷甄选 — 路由配置+登录模块+layout组件+路由鉴权
  • 计算机的存储规则
  • webpack该如何打包
  • 左值、右值 、左值引用、右值引用的总结
  • 【数据结构】顺序表的定义和运算
  • 苹果手机video标签播放视频问题(播放mp4视频遇到的坑)
  • WPS论文写作——公式和公式序号格式化
  • 文本转图像 学习笔记
  • web前端开发html/css练习
  • 第75讲:MySQL数据库MVCC多版本并发控制核心概念以及底层原理
  • 无人机高空巡查+智能视频监控技术,打造森林防火智慧方案
  • 结构化布线系统
  • 树莓派 5 - Raspberry Pi 5 入门教程
  • C/C++——内存管理
  • 微软NativeApi-NtQuerySystemInformation
  • 【WPF.NET开发】WPF中的对话框
  • 拆分降采样与归一化(LN和BN)
  • websocket vue操作
  • 快速学会绘制Pyqt5中的所有图(下)
  • Kafka安全性探究:构建可信赖的分布式消息系统
  • 二叉树的非递归遍历(详解)