RabbitMq:什么是RabbitMq? ①

一、RabbitMq定位

RabbitMq是一个基于消息订阅发布的一款消息中间件。

二、技术原理

核心概念

  1. server:又称broker,接受客户端连接,实现AMQP实体服务。缓存代理,Kafka集群中的一台或多台服务器统称broker.

  2. connection:连接和具体broker网络连接。

  3. channel:网络信道,几乎所有操作都在channel中进行,channel是消息读写的通道。客户端可以建立多个channel,每个channel表示一个会话任务。

  4. message:消息,服务器和应用程序之间传递的数据,由properties和body组成。properties可以对消息进行修饰,比如消息的优先级,延迟等高级特性;body是消息实体内容。

  5. Virtual host:虚拟主机,用于逻辑隔离,最上层消息的路由。一个Virtual host可以若干个Exchange和Queue,同一个Virtual host不能有同名的Exchange或Queue。

  6. Exchange:交换机,接受消息,根据路由键转发消息到绑定的队列上。

  7. binding:Exchange和Queue之间的虚拟连接,binding中可以包括routing key

  8. routing key:一个路由规则,虚拟机根据他来确定如何路由 一条消息。

  9. Queue:消息队列,用来存放消息的队列。

三、Exchange类型解读

Direct:精准+直连确定队列

交换机绑定一个或多个队列

Fanout:无差别广播确定队列

Topic:模糊匹配

参考:https://www.cnblogs.com/bulldozer/p/17413517.html

相关推荐
BullSmall9 分钟前
JDK17下Kafka部署全指南
分布式·kafka
悟空码字29 分钟前
SpringBoot 整合 RabbitMQ:和这只“兔子”交朋友
java·后端·rabbitmq
BullSmall2 小时前
MinIO分布式存储实战指南
分布式
回家路上绕了弯2 小时前
数据模型设计实战指南:从业务到落地的全流程方法论
分布式·后端
吃好喝好玩好睡好2 小时前
OpenHarmony 分布式环境下 Electron+Flutter 应用的增量更新设计
分布式·flutter·eclipse·electron
西***63472 小时前
人机分离・全域互联!分布式 KVM 坐席系统:应急指挥与多领域管控的硬核支撑
分布式
爬山算法2 小时前
Redis(170)如何使用Redis实现分布式限流?
数据库·redis·分布式
Macbethad2 小时前
WPF工业设备远程控制程序技术方案
分布式·wpf
8Qi82 小时前
Redis之Lua脚本与分布式锁改造
java·redis·分布式·lua
明月出天山_2 小时前
【金融科技理论与实践】常见知识点汇总——北大软微期末考复习
分布式·科技·金融·区块链·智能合约