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

RabbitMQ系列(1)--RabbitMQ简介

1、RabbitMQ概念

RabbitMQ是一个消息中间件,不对消息进行处理,只对消息做接收、存储和转发。

2、RabbitMQ四大核心概念

(1)生产者

产生数据发送信息的程序

(2)交换机

交换机是RabbitMQ中一个非常重要的部件,接收来着生产者的消息并把消息推送到队列中

(3)队列

队列是RabbitMQ中使用的一种数据结构,生产者将消息发送到队列里,许多消费者尝试从一个队列里接收数据

(4)消费者

接收信息的程序

3、RabbitMQ模式

(1)简单模式(Hello World)

(2)工作模式(Work queues)

(3)发布订阅模式(Publish/Subscribe)

(4)路由模式(Routing)

(5)主题模式(Ropics)

(6)发布确认模式(Publisher Confirms)

4、RabbitMQ名词介绍

Broker:接收和分发消息的应用,RabbitMQ Server就是Message Broker。

Virtual host:出于多租户和安全因素设计的,把 AMQP的基本组件划分到一个虚拟的分组中,类似于网络中的namespace概念。当多个不同的用户使用同一个RabbitMQ server提供的服务时,可以划分出多个vhost,每个用户在自己的vhost创建exchange / queue等

Connection: publisher / consumer和broker之间的TCP连接

Channel:如果每一次访问RabbitMQ都建立一个Connection,在消息量大的时候建立TCPConnection的开销将是巨大的,效率也较低。Channel是在connection 内部建立的逻辑连接,如果应用程序支持多线程,通常每个thread创建单独的channel进行通讯,AMQP method包含了channel id帮助客户端和message broker识别channel,所以channel之间是完全隔离的。Channel作为轻量级Connection极大减少了操作系统建立TCP connection的开销

Exchange: message 到达 broker 的第一站,根据分发规则,匹配查询表中的 routing key,分发消息到queue 中去。常用的类型有: direct (point-to-point), topic(publish-subscribe) and fanout

(multicast)

http://www.lryc.cn/news/38538.html

相关文章:

  • aws dynamodb 使用awsapi和PartiQL掌握dynamodb的CRUD操作
  • 【C++学习】类和对象(上)
  • 一文带你深入理解【Java基础】· Java反射机制(下)
  • JVM的几种GC
  • 掌握Shell脚本的if语句,让你的代码更加精准和高效
  • 音质好的蓝牙耳机有哪些?音质最好的蓝牙耳机排行
  • 一次Android App NDK崩溃问题的分析及解决
  • 因果图判定表法
  • Oracle 数据库相关信息清单列表
  • 射频资料搜集--推荐几个网站和链接
  • B1048 数字加密
  • Qt使用FFmpeg播放视频
  • Win32 ListBox控件
  • 最大值池化与均值池化比较分析
  • 统计学 多元线性回归
  • tar和gzip压缩和解压
  • 搭建Docker企业私有仓库
  • [NOIP2009 提高组] 最优贸易(C++,tarjan,topo,DP)
  • 计算机网络:移动IP
  • binutils工具集——GNU binutils工具集简介
  • Golang编译选项(ldflags)有趣应用
  • AIR32F103(十一) 在AIR32F103上移植微雪墨水屏驱动
  • Uipath Excel 自动化基础系列文章
  • 神经网络优化器之随机梯度下降法的理解
  • 记录一次WIN11开机在登录页面循环的问题
  • 始终从最不易改变的方面开始
  • 4、Httpclient源码解析之HTTP协议
  • 浏览器并发行为记录
  • 工厂模式与抽象工厂
  • 什么?你不知道 ConcurrentHashMap 的 kv 不能为 null?