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

相关推荐
不想写bug呀14 小时前
RabbitMQ相关问题总结
rabbitmq·工作模式
Knight_AL14 小时前
RabbitMQ 中 Ready 和 Unacked 到底是什么意思?如何用它们判断系统是否健康
分布式·rabbitmq
007php00716 小时前
PHP与Java项目在服务器上的对接准备与过程
java·服务器·开发语言·分布式·面试·职场和发展·php
Go高并发架构_王工1 天前
Kafka性能调优:从参数配置到硬件选择的全方位指南
分布式·kafka·linq
小北方城市网1 天前
Redis 分布式锁与缓存三大问题解决方案
spring boot·redis·分布式·后端·缓存·wpf·mybatis
小王努力学编程1 天前
LangChain——AI应用开发框架
服务器·c++·人工智能·分布式·rpc·langchain·brpc
小北方城市网1 天前
Spring Cloud 服务治理实战:构建高可用微服务体系
spring boot·python·rabbitmq·java-rabbitmq·数据库架构
一点事1 天前
windows:zookeeper下载安装教程
windows·分布式·zookeeper
掘金-我是哪吒1 天前
Kafka本身只保证单个分区内的消息是有序的
分布式·kafka
2501_941982051 天前
Java 分布式环境下的 Access_Token 一致性方案:如何避免多节点冲突?
java·开发语言·分布式